Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#阅读excel工作表_C#_Excel - Fatal编程技术网

c#阅读excel工作表

c#阅读excel工作表,c#,excel,C#,Excel,有人能帮我在c#应用程序中阅读一份简单的excel工作表吗?我希望能够迭代每一行,并在每一列上都有一个句柄 谢谢, rod.一般方法是使用Excel COM互操作。快速的谷歌搜索会找到大量的教程。这里有一个创建工作表的方法——它应该为您指明方向(阅读基本相同) 另一种方法是使用ADO.Net。只有当您的Excel工作表是格式良好的表(即数据库)时,这才是真正可行的,但比互操作方法更简单。当Excel COM互操作工作时,它要求在客户端计算机上安装Excel。如果这不是一个问题,那么所有的好,但如

有人能帮我在c#应用程序中阅读一份简单的excel工作表吗?我希望能够迭代每一行,并在每一列上都有一个句柄

谢谢,
rod.

一般方法是使用Excel COM互操作。快速的谷歌搜索会找到大量的教程。这里有一个创建工作表的方法——它应该为您指明方向(阅读基本相同)


另一种方法是使用ADO.Net。只有当您的Excel工作表是格式良好的表(即数据库)时,这才是真正可行的,但比互操作方法更简单。

当Excel COM互操作工作时,它要求在客户端计算机上安装Excel。如果这不是一个问题,那么所有的好,但如果是,你可能会考虑看aseStudio。它们简单且功能强大,但需要支付商业许可证费用。

如果要打开Excel 2007或2010工作簿(ooxml格式),可以下载(不需要安装MS office)

我以前使用过ADO.NET和Jet。要注意的是,如果你的列不是明显的一种类型,你会看到奇怪的事情发生。Jet尝试根据前几个值为列分配数据类型。很好的一点是,您可以像查询表格一样查询电子表格。

下面是一个使用OLEDB的示例


这是我发现的最简单的方法:


ADO不仅简单,而且速度更快。真的吗?我想这是有道理的。我只将Excel ADO.Net与具有SQL查询的适当数据库进行了比较,结果速度非常慢,但这主要是因为Excel不支持数据库索引。Excel 2007之前的任何版本都可以使用Office主互操作程序集(使用COM互操作,这需要安装MS Office)。使用Open XML SDK的教程:,使用COM互操作的教程: