从C#中的xlsx文件获取记录时出错

时间:2012-02-08 15:01:07

标签: c# winforms xlsx

当我尝试从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上时,我看不到任何记录

1 个答案:

答案 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文件路径的路径