从Excel工作表中读取数据在c#中?
问题描述:
我需要某种方式从Excel文件中读取工作表,然后选择它的重要性,并将所有数据放入数据库中。从Excel工作表中读取数据在c#中?
这只是一次工作。这是一个带有信息的旧Excel文件,必须传递给数据库,并且可以与我开发的应用程序一起工作。
我看到了很多例子,但我不太清楚它是如何工作的,以及哪种方式最适合做这类工作。
我的想法是在这个过程中开发一些应用程序在c#中。
答
LINQ可能工作,并会在相对简单的表是优选的。 传统的方法是使用COM Interop。下面是关于使用Excel的COM互操作工作的一个微软页面(它是电子表格的创建,但原理都是一样的 - 只是用不同的API方法来打开和读取数据):
http://msdn.microsoft.com/en-us/library/ms173186(v=vs.80).aspx
答
我强烈建议使用linq提供程序连接到excel。这应该使查询您正在查找的信息变得非常容易。一旦拥有它,插入数据库应该很容易。
答
我已经之前使用过它,它运作良好。 http://exceldatareader.codeplex.com/
了从Excel工作表在C#中得心应手的例子...
using (FileStream fileStream = File.Open(inputFilenames[0], FileMode.Open, FileAccess.Read))
{
IExcelDataReader excelReader;
if (Path.GetExtension(inputFilenames[0]) == ".xls")
excelReader = Factory.CreateReader(fileStream, ExcelFileType.Binary);
else
excelReader = Factory.CreateReader(fileStream, ExcelFileType.OpenXml);
excelReader.NextResult();
while (excelReader.Name != this.Worksheet)
excelReader.NextResult();
while (excelReader.Read())
{
if (FirstRowHasColumnNames)
{
FirstRowHasColumnNames = false;
}
else
{
//do stuff
var test = GetColumnData(excelReader, 1);
}
}
this.Save(outputFilename);
}
答
读取数据?我在这里得到了精确的解决方案访问 http://microsoftdotnetsolutions.blogspot.in/2012/12/get-excel-sheet-data.html
确切的dupe http://stackoverflow.com/questions/4235887/c-read-excel-worksheet – 2011-03-15 21:52:47