当我尝试从xlsx文件中读取记录时出现错误
错误是“无法更新。数据库或对象是只读的。”
我已经验证该文件不是只读的。可能导致错误的任何想法?
我的代码是:
string strFileName = System.IO.Path.GetFileName(txtSourcePath.Text);
string strFilePath = txtSourcePath.Text;
string strDirectoryPath = strFilePath.Substring(0, (txtSourcePath.TextLength - (strFileName.Length + 1)));
string conn = string.Format(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}; Extended Properties=""text;HDR=YES;FMT=DELIMITED""", strDirectoryPath);
OleDbConnection oleDBConn = new OleDbConnection(conn);
oleDBConn.Open();
OleDbDataAdapter da = new OleDbDataAdapter("Select * FROM [" + strFileName + "]", conn);
DataSet ds = new DataSet();
da.Fill(ds);
当我将鼠标悬停在ds
上时,我看不到任何记录
答案 0 :(得分:0)
Try This
for xls
<add key="xlsConnection" value="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=##PATH##;Extended Properties='Excel 8.0;HDR=YES;IMEX=1'"/>
for xlsx
<add key="xlsxConnection" value="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=##PATH##;Extended Properties='Excel 12.0;HDR=YES;'"/>
需要安装:microsoft.ace.oledb.12.0 driver
替换Excel文件路径的路径