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中,剩下的就可以随意操作了。

浙公网安备 33010602011771号