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

 笔者在项目中做做了一个从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位应该程序、设置见图。

时间: 2024-09-12 04:03:13

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

IIS7.5 提示未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序_win服务器

在WIN7 X64平台IIS7.5,使用Asp.net连接access数据库时候,提示:未在本地计算机上注册"Microsoft.Jet.OleDb.4.0"提供程序. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.InvalidOperationException: 未在本地计算机上注册"Microsoft.Jet.OleDb.4.0"提供程序. 源错误

VISTA(X64)中提示:未在本地计算机上注册“Microsoft.Jet.Oledb.4.0”提供程序。

问题描述 这个ASP.NET的程序是在VISTA32位中做了一半,我换了64位的系统,然后我的程序就打不开了,提示的信息:"/"应用程序中的服务器错误.--------------------------------------------------------------------------------未在本地计算机上注册"Microsoft.Jet.Oledb.4.0"提供程序.说明:执行当前Web请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关

求大神帮助解决:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

问题描述 有关调用实时(JIT)调试而不是此对话框的详细信息,请参见此消息的结尾.**************异常文本**************System.InvalidOperationException:未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"提供程序.在System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionStringconstr,DataSourceWrapper

解决方法:64位系统-未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

原文:解决方法:64位系统-未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"提供程序 win7或win8 64位下调试程序,出现这样的错误提示:未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序 解决方法如下: 方法一:"设置应用程序池默认属性"/"常规"/"启用32位应用程序",设置为 true. 如下图所示: 方法二:生成->配置管理器->平台->点击An

解决方法:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

win7或win8 64位调试程序,出现这样的错误提示:未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序 解决方法如下: 方法一:"设置应用程序池默认属性"/"常规"/"启用32位应用程序",设置为 true. 如下图所示: 方法二:生成->配置管理器->平台->点击Any Cpu选项卡->新建->新建平台->X86. 如下图所示: 

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

问题描述 做一个图书管理系统,调试后显示未在本地计算机上注册"Microsoft.Jet.OLEDB.12.0"提供程序.下载安装了AccessDatabaseEngine.exe后问题依旧,有哪位大神能够给解决下 解决方案 解决方案二:缺少数据访问驱动,到http://download.microsoft.com/download/7/0/3/703ffbcb-dc0c-4e19-b0da-1463960fdcdb/AccessDatabaseEngine.exe下载.然后安装就行了

WIN7 X64 IIS7.5 未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序 解决办法

在WIN7 X64平台IIS7.5,使用Asp.net连接access数据库时候,提示:未在本地计算机上注册"Microsoft.Jet.OleDb.4.0"提供程序. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.InvalidOperationException: 未在本地计算机上注册"Microsoft.Jet.OleDb.4.0"提供程序. 源错误

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

问题描述 未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"提供程序. 未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"提供程序.11 解决方案 你是不是没有安装access或者数据库驱动,去下载一个装上,注意版本 解决方案二: 参考下这个,很可能没有使用正确的驱动,或者没有安装office. http://blog.csdn.net/hanghwp/article/details/4260841 读取excel等可以使用n

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

问题描述 在本机上测试没问题,可在一个64位的2003服务器上就出现了未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"提供程序!重新安装过"MDAC_TYP.EXE",看到生成->配置管理器->平台->点击AnyCpu选项卡->新建->新建平台->X86可vs2005里配置管理器窗口只有两个下拉狂,和一个项目列表,如何配置呢??多谢了! 解决方案 解决方案二:而且配置管理器窗口的项目列表里的web项目配置只能