在.net c中从excel读取数据的建议#

时间:2009-08-06 15:54:30

标签: c# .net excel import-from-excel

我需要在c#winforms app中读取excel文件中的数据。有关良好组件的任何建议吗?几年前我曾经使用过syncfusion,这似乎可以解决问题。

我需要跳过一堆标题行(因此直接的ADO方法不会很容易),然后是一个标准列但行数可变的数据表。

我会在读取数据后将数据泵入SQL Server数据库,但在此之前可能需要对其进行验证等。

谢谢!

9 个答案:

答案 0 :(得分:2)

SpreadsheetGear for .NET会这样做。

您可以使用C#和VB源here查看ASP.NET示例,如果要试用,可以下载免费试用here

免责声明:我拥有SpreadsheetGear LLC

答案 1 :(得分:1)

Using ASPOSE Tools

Using ADO.NET

您需要图形支持吗?

答案 2 :(得分:1)

我现在正在使用ComponentOne XLS组件。它非常稳定并且可以正常工作。我也将它用于数据集成。

我也想做一些xls报告,但API不支持完整的excel堆栈(甚至没有启动excel实例)所以我不得不浏览Mirosoft.Office.Interop

答案 3 :(得分:1)

其中一种选择:MS Office Wrapper for .NET

答案 4 :(得分:1)

你也可以使用LINQ to XML, 请看下面的链接...

Video Tutorial

答案 5 :(得分:1)

我们目前正在使用Flexcel。它有一些很好的功能,包括用于读取电子表格和生成必要的C#(或VB或Delphi)代码以使用他们的工具包生成该工作表的工具 - 它使得设计工作表变得轻而易举。许可证并不昂贵(开发人员的站点许可证,免费再分发)。

唯一反对它的是XLSX(Excel 2007原生格式)兼容性“现在很快”。

答案 6 :(得分:0)

您可以这样做:

// Connection String to Excel Workbook
string excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Extended Properties=\"Excel 8.0;HDR=YES;\"";

OleDbDataAdapter oleDbDataAdapter = new OleDbDataAdapter("Select * FROM [Sheet1$]", excelConnectionString);

DataSet dataSet = new DataSet();

oleDbDataAdapter.Fill(dataSet);

另见“SqlBulkCopy”

答案 7 :(得分:0)

阅读关于阅读和编写Excel电子表格的博客文章。

Reading and Writing Excel Spreadsheets

答案 8 :(得分:0)

最终我们选择了Syncfusion's XLSIO,效果很好。

也感谢其他建议。