解决ASP.net 读取Excel 问题

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

1,用Microsoft.Jet.OLEDB.4.0读取EXCEL数据的代码是这样的:
     string ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/aa.xls;Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
 
   OleDbConnection Conn=new OleDbConnection(ConnStr);
   Conn.Open();
   string SQL="select * from [sheet1$]";
   OleDbDataAdapter da=new OleDbDataAdapter(SQL,ConnStr);
   DataSet ds=new DataSet();
   da.Fill(ds);
   DataGrid1.DataSource=ds;
   DataGrid1.DataBind();

很简单的代码,但是问题就出在连接字符串上面,后面一定要加上Extended Properties='Excel 8.0;HDR=NO;IMEX=1',HDR和IMEX也一定要配合使用,哈哈,老实说,我也不知道为什么,这样配合的效果最好,这是我艰苦调试的结果.IMEX=1应该是将所有的列全部视为文本,我也有点忘记了.至于HDR本来只是说是否要出现一行标题头而已,但是结果却会导致某些字段值丢失,所以其实我至今也搞不明白为什么,很可能是驱动的问题...


2,
由于ASPNET属于网络用户,所以如果网络用户要调用本地的进程或者程序,比如创建文件夹等,都需要给ASPNET加上本地用户的权限,所以报错中“ASP.NET 有一个在应用程序没有模拟时使用的基进程标识”,解决方法是在web.config文件中加上<identity impersonate="true"/>
结点,这个结点的用途见ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpgenref/html/gngrfIdentitySection.htm

还有个问题,加入在页面中对EXCEL进行了操作,需要保存的时候,当创建一个新的文档或者保存一个修改过的文档时:

代码是:test.SaveAs (ConfigurationSettings.AppSettings["Excel"] + DocName.Text + ".xls");

出现如下错误:

无法打开宏储存。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Runtime.InteropServices.COMException: 无法打开宏储存。
解决方法:
在运行中输入dcomcnfg
在组件服务==>计算机==>我的电脑DCOM找到:




打开之后出现下面的界面,



点访问权限,


看到上面的界面之后大家该知道怎么做了吧,添加了aspnet用户,然后给权限就OK了
 
三种ASP.NET读取Excel文件的方法浅析(含完整代码) 一、ASP.NET读取Excel文件方法一:采用OleDB读取Excel文件: 把Excel文件当做一个数据源来进行数据的读取操作,实例如下: 1. public DataSet ExcelToDS(string Path) 2. { 3. string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;"; 4. OleDbConnection conn = new OleDbConnection(strConn); 5. conn.Open(); 6. string strExcel = ""; 7. OleDbDataAdapter myCommand = null; 8. DataSet ds = null; …… 立即下载

相关推荐

连接Excel时出现未指定的错误

 使用  strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=Excel 8.0;HDR=YES;IMEX=1"; OleDbConnection conn = new OleDbConnection(strConn);conn.Open

5387

Microsoft.Jet.OLEDB.4.0读取EXCEL数据 参数详细说明

Microsoft.Jet.OLEDB.4.0读取EXCEL数据的代码是这样的: string ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/aa.xls;Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; OleDbConnection Conn=new OleDbConnection(ConnStr); Conn.Open(); string SQL="sel...

资料汇总整理-仅供个人学习使用 4898

C# Microsoft.Jet.OLEDB.4.0 操作Excl

//exclPath:文件路径 private void DataFromExcl(string exclPath) { string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + exclPath + ";" + "Extended Properties=Excel 8....

sshzf的博客 2154

VBA在Excel中的应用(四)

http://www.cnblogs.com/jaxu/archive/2009/07/17/1525571.html   选择整列 Sub SelectEntireColumn()     Selection.EntireColumn.Select End Sub . 将指定的列序号转换为列名 Function GetColumnRef(columnIndex As Integ

kendyhj9999的专栏 1378

介绍如何使用 Jet OLE DB 提供程序 4.0 连接到不同的外部数据库

打开 Excel以下代码打开一个 Excel ISAM 数据库: cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=c:/somepath/ExcelFile.xls;" & _ "Extended Properties=""Excel 8.0;HDR=

faunjoe的专栏 1117

ASP.NET(C#) 读取EXCEL ——另加解决日期问题

转载:http://www.cnblogs.com/diony/archive/2011/09/08/2171133.html 使用OLEDB可以对excel文件进行读取,我们只要把该excel文件作为数据源即可。 一 在D盘创建excel文件test.xls: 二 将工作表Sheet1的内容读取DataSet string strConn = "Provider=Micros...

weixin_53370274的博客 75

(转)ASP.NET(C#) 读取EXCEL ——另加解决日期问题

使用OLEDB可以对excel文件进行读取,我们只要把该excel文件作为数据源即可。 一 在D盘创建excel文件test.xls:    二 将工作表Sheet1的内容读取DataSet  string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/test.xls;"+   "Extended Proper...

weixin_30662011的博客 267

ASP.NET中使用Excel提供的类读取excel数据

     在ASP.NET中使用Excel读取Excel文件数据时,会碰到一些奇怪问题,例如“无法读取”等,一般是由于ASP.NET帐户没有操作Excel的权限等原因造成的。解决方法如下:    运行dcomcnfg(DCOM Config), 在列表中选择Microsoft Excel应用程序,查看属性,身份验证级别选"无",身份标识选"交互式用户",安全性页面,启动和访问均给everyo

草莽的专栏 1618

C#如何高效读取EXCEL文件

http://zhidao.baidu.com/question/58725229.html http://blog.csdn.net/jaguar1982/archive/2005/01/11/248246.aspx 2010-03-12 | ASP.NET读取EXCEL文件的三种经典方法 (其中,64位操作系统上使用第二种com组件方式)  标签: 64位操作系统上  读取EXCEL文件

编码改变世界 5823

asp.net Excel导入和导出

asp.net Excel导入和导出 1、Excel数据导入到数据库中: //该方法实现从Excel中导出数据到DataSet中,其中filepath为Excel文件的绝对路径,sheetname为表示那个Excel表;         public DataSet ExcelDataSource( string filepath , string sheetname )   

DMX66的专栏 1096

ASP.Net C# 在64bit下讀取EXCEL問題

ASP.Net C# 在64bit下讀取EXCEL問題在32bit下,ASP.Net 讀取EXCEL可以透過OLEDB,ODBC等連接driver來直接讀取。然而到了64bit時,microsoft不在支援上述driver,導致讀取excel時變得痛苦萬分。(并聯想到引用32bit dll時的痛苦。。。。。)在winform編程時,當然可以利用將程式編譯成32bit來運行(右鍵專案à屬性à

playwarcraft的专栏 3103

ASP.NET Excel的生成,读取,和2003与2007兼容

生成:Excel表格的生成我只做了生成2003版本的,2007没有做因为很麻烦,还有用XML所以放弃了  public override void VerifyRenderingInServerForm(Control control)    {        // Confirms that an HtmlForm control is rendered for    }    pr

我生活的点滴 2901

处理Microsoft Access Database Engine的Unspecified error异常

先说背景,最近需要在ASP.NET网站中读取Excel文件内容,优先考虑使用Oledb的查询方式,全部逻辑完工后本机测试一切都OK,但是一旦切换用另外机器使用其它用户名登录网站就会出现数据读不出的现象。 把网站目录的权限都检查了一遍后,还是无果。真实的excel文件就生成在网站根目录的temp文件夹,并且给了这个文件夹加了everyone读写的权限。通过debug其它用户访问站点的行为...

weixin_30332705的博客 761

更新安全补丁后无法读取查询导入Excel问题解决说明书

由于微软在2017-10-10左右更新了安全补丁(KB4041678,KB4041681) 从而更新了Microsoft JET Database Engine导致aspasp.net等无法读取Excel解决方法实现原理:使用旧版msexcl40.dll或者最新版即可解决

易查薪 1620

转:使用Office组件读取Excel,引用Microsoft.Office.Interop.Excel出现的问题

 转自:http://www.cnblogs.com/Mainz/archive/2009/11/11/microsoft_office_interop_excel.html 操作背景:asp.net操作Excel出现问题:在本地添加引用(com):Microsoft Office 11.0 Object Library,并写好程序调试正常,部署到服务器时,出现异常 Excel

James.Duan@CSDN 3162

uploadify http error 500

ASP.NET实现这样一个功能:用uploadify上传一个excel文件,上传完成后打开并读取文件内容,最终将内容写到数据库。在开发环境下,这个功能在运行过程中没有问题,当发布至服务器,客户端访问过来时,出现HTTP ERROR 500错误。在找了N多可能的原因后,发现问题出来在系统打开已经上传的excel文件出现问题,于是将打开excel文件的代码独立出来测试,报以下错误: 检索 CO

handsometone1982的专栏 6491

NPOI读取单元格日期问题

最近在使用ASP.Net MVC3来开发一个网站,需要实现数据的Excel导入导出功能。在处理导入时,遇到了一个问题:将所有的单元格都按字符串单元格来处理,运行时对日期类型的就会出错。搜了一下解决办法,最终解决了,将代码贴上: row = (HSSFRow)rows.Current; DataRow dataRow = ...

diangualu5950的博客 1784
下一篇: 正则表达式学习笔记
yanpeiling
博客等级 码龄21年 0粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值