oleDB 导入excel遇到的问题
Posted E_T
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oleDB 导入excel遇到的问题相关的知识,希望对你有一定的参考价值。
本地测试一切ok.
到服务器上测试各种报错,先装了office2010,又装了AccessDatabaseEngine,之后报"Microsoft Excel 不能访问文件
可能的原因有:
1 文件名称或路径不存在。
2 文件正被其他程序使用。
3 您正要保存的工作簿与当前打开的工作簿同名。"
2 文件正被其他程序使用。
3 您正要保存的工作簿与当前打开的工作簿同名。"
百度之,对com组件进行了设置:
1).开始--〉运行--〉cmd
2)命令提示符下面,输入mmc -32,打开32的控制台
3).文件菜单中,添加删除管理单元--〉组件服务
4).在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框
5).点击"标识"标签,选择"交互式用户"
6).点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限
7).依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.
2)命令提示符下面,输入mmc -32,打开32的控制台
3).文件菜单中,添加删除管理单元--〉组件服务
4).在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框
5).点击"标识"标签,选择"交互式用户"
6).点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限
7).依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.
报错依旧,
查看web.config时发现
<identity impersonate="false" />
将之改为
<identity impersonate="true" userName="***" password="****" />
解决
以上是关于oleDB 导入excel遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章
C# Excel 文件导入到 GridView 导致 OleDB 错误
导入Excel 2013到vs,本机没有注册微软ACE.OLEDB.12.0
在不使用 OleDB 的情况下通过 aspnet 将 excel 导入 sql 的方法
告诉我 OLEDB 数据阅读器读取 excel 文件列的最大限制是多少?