1.在VS2010中新建一个“Excel工作簿”项目。
2.选择“数据/显示数据源”菜单命令打开“数据源”窗口。
3.在“数据源”窗口中创建一个连接到SQL Server 2008数据库数据源,并选择一个数据表。
4.在“数据源”窗口单击一个列名(如Name),其右侧将出现下拉箭头,单击显示一个列表,选择“NamedRange”项,接着将该列拖放到工作表Sheet1的A1单元格。
这时,在单元格“A1”中会创建一个名为nameNamedRange的 NamedRange 控件(前面的name是列名,后面的NamedRange是系统加的后缀)。同时,会添加一个名为studentBindingSource 的 BindingSource(前面是数据源表名,后缀BindingSource是系统添加的)、一个表适配器和一个 DataSet 实例添加到该项目中(这些内容位于Sheet1.Designer.cs中)。
在Sheet1.Designer.cs文件的BindToData函数中,会将nameNamedRange控件绑定到 BindingSource,接着后者绑定到 DataSet 实例。
5.重复上一步,将其他需要在Sheet1表中显示的列从“数据源”窗口拖到对应单元格(需先通过上图所示操作将列定义为NamedRange)。
6.此时运行,在Excel的Sheet1中可看到数据库myDb中student表中的一条记录。要浏览表中的记录,还需要添加一些命令按钮进行导航。
7.从公共控件中拖动4个按钮到Sheet1工作表。
8.在Sheet1的Sheet1_Startup中编写以下代码,设置4个按钮的显示文本:
2 this.button2.Text = "<";
3 this.button3.Text = ">";
4 this.button4.Text = ">|";
9.双击button1按钮,在其单击事件中编写以下代码,通过studentBindingSource移动记录:
2 {
3 this.studentBindingSource.MoveFirst();
4 }
类似地,在其他3个按钮中分别编写代码如下:
2 {
3 this.studentBindingSource.MovePrevious();
4 }
5 private void button3_Click(object sender, EventArgs e)
6 {
7
8 this.studentBindingSource.MoveNext();
9 }
10 private void button4_Click(object sender, EventArgs e)
11 {
12 this.studentBindingSource.MoveLast();
13 }
10.运行项目,单击4个按钮可在数据记录之间导航,在工作表中可看到不同记录的数据。