C# 3.5 读取 Excel 文件
Posted
技术标签:
【中文标题】C# 3.5 读取 Excel 文件【英文标题】:C# 3.5 Reading Excel files 【发布时间】:2010-08-24 15:02:40 【问题描述】:当我尝试使用此代码读取 XML 工作表时,我有一个奇怪的行为:
string CONNEC_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=0;Extended Properties=\"Excel 8.0;HDR=No;IMEX=2;\"";
string fullFilePath = @"C:\Tmp\TestFile.xls";
using (OleDbConnection objCon = new OleDbConnection(string.Format(CONNEC_STRING, fullFilePath)))
using (OleDbCommand cm = new OleDbCommand("Select * From [MYCELLSRANGE]", objCon))
using (OleDbDataAdapter da = new OleDbDataAdapter(cm))
DataTable dt = new DataTable();
objCon.Open();
da.Fill(dt);
objCon.Close();
如果 Excel 文件已关闭,我会收到错误消息“外部表不是预期的格式。” 当我打开文件时,如果我执行上面的代码,它工作正常,我可以读取 MYCELLSRANGE 中包含的数据。 那么,有人对这个问题有任何想法吗? 感谢您的回答。
【问题讨论】:
您是否尝试过 IMEX 的不同值? 【参考方案1】:我相信这是因为 Jet Engine 使用 Excel 应用程序来解释文件。我自己也遇到过这个问题。当您使用 Excel.dll 引用并从中解释 Excel 文件时,您必须创建一个新的应用程序实例来读取该文件。 Jet 就是这样做来获取数据的。我建议改用该代码。
C# Corner example of how to Import Excel to a ListView C# Corner example of how to Create an Excel Worksheet in C# MSDN users discussing the same topic如果您需要进一步的帮助,请告诉我。我已经在我的各种应用程序中的 VB.NET 中成功地做到了这一点。
【讨论】:
以上是关于C# 3.5 读取 Excel 文件的主要内容,如果未能解决你的问题,请参考以下文章
C#里使用ExcelDataReader读取EXCEL文件的简单方法
C#里使用ExcelDataReader读取EXCEL文件的简单方法