在c#.net 4.0中使用XLS的主要问题
我有一个xls文件,我想用c#读取,并将信息填充到数据表中。我使用的代码是:在c#.net 4.0中使用XLS的主要问题,c#,.net,c#-4.0,xls,C#,.net,C# 4.0,Xls,我有一个xls文件,我想用c#读取,并将信息填充到数据表中。我使用的代码是: public static DataTable GetExcelData(string excelFilePath) { OleDbConnection objConn = null; string oledbConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFilePath + ";Extended P
public static DataTable GetExcelData(string excelFilePath)
{
OleDbConnection objConn = null;
string oledbConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFilePath + ";Extended Properties=Excel 10.0;";
objConn = new OleDbConnection(oledbConnectionString);
if (objConn.State == ConnectionState.Closed)
{
objConn.Open();
}
var objCmdSelect = new OleDbCommand("Select * from [Sheet1$]", objConn);
var objAdapter = new OleDbDataAdapter();
objAdapter.SelectCommand = objCmdSelect;
var objDataset = new DataSet();
objAdapter.Fill(objDataset, "ExcelDataTable");
objConn.Close();
return objDataset.Tables[0];
}
填充此数据表后,我需要删除前5行左右的包含标题信息的行,并循环填充access数据库表的数据表。我在这方面或其他10000种建议方式中都没有运气。有没有人有什么信息可以帮助我。我正在运行VS2010.NET4.0框架。非常感谢您的任何帮助
谢谢,
John我在尝试使用OLEDB将Excel数据导入数据表时遇到了很多麻烦。我最终通过切换到使用Excel互操作的解决方案解决了这个问题。有关进一步解释和示例代码,请参见此答案:
你可以用艰难的方法或简单的方法来完成。困难的方法当然是假设电子表格类似于数据库。或者您可以只使用Microsoft.Office.Interop.Excel命名空间中的类。电子表格的格式将始终相同。我寻找的过程是:1。将电子表格读入某种临时保存表,然后将该数据放入access数据库。字段映射是直截了当的,我想知道的是如何将电子表格读入数据表,用我不需要的信息切断数据表中的行,然后将数据表中的数据写入具有相同名称字段的访问表。我想这不可能那么难,但我对提到的任何方法都没有运气。