2

我需要在我的 c# winforms 应用程序中从 excel 文件中读取数据。对此有什么好的组件推荐吗?几年前我使用过syncfusion,这似乎可以解决问题。

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

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

谢谢!

4

9 回答 9

2

SpreadsheetGear for .NET可以做到。

您可以在此处查看带有 C# 和 VB 源代码的 ASP.NET 示例,如果您想试用,可以此处下载免费试用版。

免责声明:我拥有 SpreadsheetGear LLC

于 2009-08-06T16:25:39.787 回答
1

使用 ASPOSE 工具

使用 ADO.NET

您需要图形支持吗?

于 2009-08-06T15:58:46.800 回答
1

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

我还想做一些 xls 报告,但是 API 不支持完整的 excel 堆栈(甚至不启动 excel 实例)所以我不得不检查 Mirosoft.Office.Interop

于 2009-08-06T15:59:02.073 回答
1

替代方案之一:用于 .NET 的 MS Office Wrapper

于 2009-08-06T16:20:52.590 回答
1

您也可以使用 LINQ to XML,请参阅下面的链接...

视频教程

于 2009-08-06T16:31:54.563 回答
1

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

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

于 2009-08-06T17:48:15.660 回答
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”

于 2009-08-06T15:58:48.920 回答
0

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

阅读和编写 Excel 电子表格

于 2009-08-06T16:11:09.660 回答
0

最终我们选择了运行良好的 Syncfusion 的 XLSIO

也感谢其他建议。

于 2011-05-20T09:54:50.947 回答