OleDb如何读取Excel?(Error:找不到可安装的ISAM)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OleDb如何读取Excel?(Error:找不到可安装的ISAM)相关的知识,希望对你有一定的参考价值。

string xlsPath = Server.MapPath(@"~/App_Data/Book1.xls");
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/WebSite2/App_Data/Book1.xls;Extended Properties='Excel 11.0;HDR=Yes;IMEX=1;'";
string sql = "SELECT * FROM [Sheet1$]";

DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(sql, connStr);
da.Fill(ds);

//用户代码未处理 OleDbException,找不到可安装的ISAM。

参考技术A 将MDAC重装一下试试

使用OLEDB读取EXCEL数据时,为何读取不到单元格中的时间值,全是1900\1\0

使用OLEDB读取EXCEL数据时,为何读取不到单元格中的时间值,全是1900\1\0,
以下是读取部分的代码:
string strCon = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source = D:\\sampl.xls;Extended Properties =\"Excel 8.0;HDR=No;IMEX=2\"";
OleDbConnection myConn = new OleDbConnection(strCon);
string strCom = "SELECT *FROM [Sheet1$]";
myConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
DataTable myDataTable = new DataTable();
myCommand.Fill(myDataSet);

string s = myDataTable.Row[3][3].toString()
s接到的是1900\1\0,但是实际格式是这样的“0:14:34”

参考技术A string s = myDataTable.Row[3][3].toString()
要先弄清楚你要的内容是不是在这个格子内,OleDb度Excel的时候,默认情况下是吧第一行当做列名,不计算在内的。接到1900\1\0值应该是读到空格子了
参考技术B 不会吧,应该可以的,

以上是关于OleDb如何读取Excel?(Error:找不到可安装的ISAM)的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft.Jet.OLEDB.4.0 导入excel报"找不到可安装的ISAM"

如何在使用 Oledb 的其他用户使用时读取 excel?

C#导入execl 找不到可安装的 ISAM

C# 读取excel组件方法?

Microsoft.Jet.OLEDB.4.0 “找不到提供程序。它可能没有正确安装。”错误

EXCEL 导入SQL2005 提示 找不到可安装的 ISAM。 (Microsoft JET Database Engine)