我需要在c#winforms app中读取excel文件中的数据。有关良好组件的任何建议吗?几年前我曾经使用过syncfusion,这似乎可以解决问题。
我需要跳过一堆标题行(因此直接的ADO方法不会很容易),然后是一个标准列但行数可变的数据表。
我会在读取数据后将数据泵入SQL Server数据库,但在此之前可能需要对其进行验证等。
谢谢!
答案 0 :(得分:2)
答案 1 :(得分:1)
答案 2 :(得分:1)
我现在正在使用ComponentOne XLS组件。它非常稳定并且可以正常工作。我也将它用于数据集成。
我也想做一些xls报告,但API不支持完整的excel堆栈(甚至没有启动excel实例)所以我不得不浏览Mirosoft.Office.Interop
答案 3 :(得分:1)
其中一种选择:MS Office Wrapper for .NET
答案 4 :(得分:1)
你也可以使用LINQ to XML, 请看下面的链接...
答案 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电子表格的博客文章。
答案 8 :(得分:0)
最终我们选择了Syncfusion's XLSIO,效果很好。
也感谢其他建议。