ASP.NET操作EXCEL

在.net中操作excel表格,需要注意以下事项:

1、添加oledb的引用

using System.Data.OleDb;

2、获取excel的路径,根据采用的控件不同,这里会不一样。在asp.net2003中,只能用HTML控件File Field 。获取的路径     excel_route=this.File1.PostedFile.FileName.ToString();

     在asp.net2005中,由于有web控件FileUpload, 获取的路径

string excel_route = this.FileUpload1.PostedFile.FileName.ToString();

虽然都一样,但是05还是比03好用。

3、根据使用excel版本的不用,在建立与excel的链接时,需要采用不同的驱动器,目前以office2003为最常用office,驱动器类型是

string connStr = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '" + excel_route + "';Extended Properties=Excel 8.0;";

4、对excel的操作,就像正确读取数据库表一样,所不同的是,excel数据库的表名就是工作薄的名称,即sheet名称。

string load_excel = "SELECT * FROM [" + sheet_name + "$]";

一般默认情况下,工作薄名称都是sheet1,但是有时候用户会私自改名,所以最好是让用户自己输入sheet名称。

5、读取excel表格时,需要注意的是,有些excel是从程序导出的,并且是使用Response的方式直接把html代码输出到Excel中的,这样的excel表格在读取时会提示

“外部表不是预期的格式”错误,此时需要手工打开excel表格,然后重新保存即可。

6、读取后的excel数据,和操作普通数据库一样

DataSet ds = new DataSet();
ds.Dispose();
OleDbDataAdapter da = new OleDbDataAdapter(load_excel, connStr);
da.Fill(ds);

这样就把excel数据读入到了ds中,剩下的就可以随意操作了。

posted @ 2009-07-16 16:30  黄鹤  阅读(757)  评论(2)    收藏  举报