当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET实现读取Excel内容并在Web上显示

ASP.NET实现读取Excel内容并在Web上显示

2017年12月12日  | 移动技术网IT编程  | 我要评论

赵尔文女儿,沧州之窗网,胡怀邦父亲

本文实例讲述了asp.net实现读取excel内容并在web上显示的方法,是非常实用的一个功能,分享给大家供大家参考。具体实现方法如下:

点击事件代码.cs代码如下:

protected void button1_click(object sender, eventargs e)
{
    string strpath = "d:/test.xls";
    string mystring = "provider=microsoft.ace.oledb.12.0;data source = '" + strpath + "';extended properties='excel 8.0;hdr=yes;imex=1;'";
      //"provider = microsoft.jet.oledb.4.0 ; data source = '" + strpath + "';extended properties=excel 8.0";
    oledbconnection cnnxls = new oledbconnection(mystring);
    oledbdataadapter myda = new oledbdataadapter("select * from [sheet1$]", cnnxls);
    dataset myds = new dataset();
    myda.fill(myds);
    datagrid1.datasource = myds.tables[0];
    datagrid1.databind(); 
}

注意:

如果使用经典的"provider = microsoft.jet.oledb.4.0 ; data source = '" + strpath + "';extended properties=excel 8.0"会报错:外部表不是预期的格式

这是因为:microsoft.jet.oledb.4.0是microsoft jet引擎,这适用于2003版本(2003之前的没有测试过,所以也不知道能向下适应到哪个版本),而在2007中,微软对其旗下 access 与 excel 的主要文件格式进行修改,并且重命名为 .accdb(access 2007 数据库文件)与 .xlsx(excel 2007 文件),因此未被 microsoft jet 引擎所支持,不过微软也很快的提出了 microsoft office 2007 desktop drivers: data connectivity components 来支持。

因此,解决方法就是把连接字符串中的数据提供者改为 microsoft.ace.oledb.12.0即可

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网