笔者在项目中做做了一个从Excel表格中导入数据的模块、大体上asp.net项目中导入Excel大体分成三类:

1)采用c#内置方案System.Data.OleDb(限制较小, 通用)

2)采用Excel的COM组件(会有版本问题)

3)采用伪Excel文件、即使用文本流的方式根据需求自己定义数据格式。同时在服务端进行反格式化

笔者采用的是方案一、相关联开发环境如下:

Windows 7(x64)

Visual Studio 2010

方案中使用的代码:

public sealed class ExcelHelper{private const string CONNECTION_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0;"; public static DataSet ExcelDataSource(string filePath, string sheetName) { OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetName + "$]", string.Format(CONNECTION_STRING,filePath)); DataSet ds = new DataSet(); oada.Fill(ds); return ds; } public static List<string> ExcelSheetName(string filePath) { List<string> list = new List<string>(); OleDbConnection conn = new OleDbConnection(string.Format(CONNECTION_STRING, filePath)); conn.Open(); DataTable sheetNames = conn.GetOleDbSchemaTable (System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); conn.Close(); foreach (DataRow dr in sheetNames.Rows) { list.Add((string)dr[2]); } return list; }

程序在执行时会抛出:

异常详细信息: System.InvalidOperationException: 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。

分析原因:

用于 Access 和 Excel 数据库的 Microsoft OLE DB Provider for Jet 在 64 位版本中不可用。

最终解决办法:

在IIS中启用32位应该程序、设置见图。

转载于:https://www.cnblogs.com/51net/p/3917419.html

asp.net采用OLEDB方式导入Excel数据时提示:未在本地计算机上注册Microsoft.Jet.OLEDB.4.0 提供程序...相关推荐

  1. 连接Excel文件时,未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

    问题与解决 未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"提供程序 错误. 1 string strCon = " Provider = Micr ...

  2. IIS未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

    win10 64位调试程序,出现这样的错误提示:未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序 解决方法如下: 方法一:"设置应用程序池默认属性"/ ...

  3. Excel导入数据,未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

    Excel导入数据,未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"提供程序: .NET在导入Excel时,使用了一个Microsoft.Jet.OLEDB. ...

  4. 导入零件信息发生错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序

    问题描述: 开发导入excel文件时报错"导入零件信息发生错误:未在本地计算机上注册"Microsoft.ACE.OLEDB.12.0"提供程序" 电脑环境:系 ...

  5. 未在本地计算机上注册 microsoft.jet.oledb.4.0 提供程序

    在Windows 7(32位)用.Net开发的Excel导入数据表功能,测试后一切正常,站点发布挪到Windows Server 2008(64位)上就意外了,出现错误提示,运行程序,抛出异常:未在本 ...

  6. C#访问Access和Win7 64位下可能遇到的 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序 问题

    新建一个access数据库和表:录入几条数据:下面工具可在网上下: ac1.cs: using System; using System.Collections.Generic; using Syst ...

  7. 本地计算机策略未创建,未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序...

    您好: 简单的程序代码如下: DataSet ds=new DataSet(); try { string strCon = @"Provider=Microsoft.Jet.OLEDB.4 ...

  8. “C# 未在本地计算机上注册microsoft.Jet.OLEDB.12.0”的解决方案

    "C# 未在本地计算机上注册microsoft.Jet.OLEDB.12.0"的解决方案 参考文章: (1)"C# 未在本地计算机上注册microsoft.Jet.OLE ...

  9. 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”/Microsoft.ACE.OLEDB.12.0”提供程序

    目录 问题描述:未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"提供程序 原因分析: Provider和平台版本(32位or64位) 解决办法: 一:确定软件 ...

最新文章

  1. centos6 防火墙iptables操作整理
  2. 亲手制作一个《哈利·波特》人物图谱,原来罗恩和赫敏的姻缘从第一部就已注定?...
  3. c/c++ 函数、常量、指针和数组的关系梳理
  4. 通过Java字节码发现有趣的内幕之String篇(上)(转)
  5. Golang笔记——json介绍
  6. Kubernetes学习总结(2)——Kubernetes设计架构
  7. 转载 Microsoft .NET Pet Shop 4 架构与技术分析
  8. Android实现计算器布局(线性布局)
  9. 简单两个矩阵如何用计算机运算,矩阵运算-如何用卡西欧fx-82es计算器计算矩阵和 – 手机爱问...
  10. AIL(Android init Language)
  11. 新浪微博广告形式全攻略
  12. 正则表达式前端js,银行卡号/身份证/姓名号脱敏
  13. 牛牛的跳跳棋(贪心)
  14. 这个是没事的时候做出来看的一系列算数表
  15. [BZOJ4763][P3603]雪辉[手写bitset+静态分块]
  16. 生成微信小程序二维码,可跳转到小程序指定页面。
  17. 基于Pycharm运行李沐老师的深度学习课程代码
  18. 基于ssm+mysql的javaee微博博客系统,Java实现类似新浪微博网站、朋友圈分享系统
  19. 关于YY1139-2013心电诊断设备的共模抑制测试项的理解
  20. Android简易登录界面

热门文章

  1. python3.7.2下载-Python编程神器 v3.7.2 最新免费版
  2. python第三方库numpy-Python第三方库之Numpy库
  3. python导入excel表格-Python 将Excel表格数据导入MySQL数据库
  4. python能做什么游戏好-Python有做大型游戏的潜力吗?
  5. 关于python中程序流程结构-Python程序结构
  6. python中的装饰器有哪些-python中的装饰器
  7. python3.5怎么安装pip-为python 3.5安装pip
  8. python电脑如何下载软件-Python如何下载文件
  9. python官网下载好慢1001python官网下载好慢-Python|时间复杂度测试
  10. 用python画关系网络图-python networkx 包绘制复杂网络关系图