win7 64位系统 c#无法利用OleDbConnection打开扩展名为xlsx的excel文件

在win7 64位系统中,使用C#的OLEDB连接打开.xlsx文件时遇到错误。问题出在64位系统与32位Office 2007的不兼容。通过安装32位版的AccessDatabaseEngine2010解决了该问题,允许程序成功连接并读取Excel 2007及更高版本的文件。
摘要由CSDN通过智能技术生成

一、运行环境

win7 64位系统

office 2007,只有32位

vs2010

C# 使用OLEDB读取excel

二、相关代码及错误现象

            // 默认读取.xls文件

            string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + fileName + ";" + "Extended Properties='Excel 8.0;HDR=no;IMEX=1'";
            if (strExtensionName == ".xlsx")  // 读取.xlsx文件
                strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";" + "Extended Properties=\"Excel 12.0;HDR=no;IMEX=1;\""; 

            OleDbConnection conn = null;
            try
            {
                conn = new OleDbConnection(strConn);

                conn.Open();
            }
运行到conn.Open()时,系统报错:“vshost32.exe已停止工作”

三、解决方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值