C#按列索引读取Excel文件

时间:2011-04-07 10:39:42

标签: c# excel file oledb

我需要通过指定列索引来使用OLEDB读取excel文件。 举个例子,我需要在A,B,C,AA,BC等的红色数据中...(Excel中的列索引)

我怎么能这样做?

提前致谢。

3 个答案:

答案 0 :(得分:1)

您是否尝试过像SELECT A,B,C,AA,BC FROM Sheet1$这样的查询?确保将Extended Properties="Excel 12.0;HDR=YES放在OLEDB连接字符串中,它将帮助您将第一行视为标题。

答案 1 :(得分:0)

首先编写一个小函数将A,B,C,AA ...转换为1,2,3,27,... 然后使用带编号的索引来定位列。网上应该有很多例子可以帮助你做到这一点。

答案 2 :(得分:0)

Thanushka,

我在这种情况下使用了excel 2007 openxml sdk(DocumentFormat.OpenXml)。它基本上是一个LINQ库,它将excel文档转换为对象,并允许您像在任何其他LINQ对象中一样在c#中查询。微软实际上(在快速搜索之后)确实有一个关于这个主题的非常好的“白痴指南”。你可以在这里找到好的资源:

http://msdn.microsoft.com/en-us/library/dd920313%28v=office.12%29.aspx

http://blogs.msdn.com/b/johnrdurant/archive/2010/02/19/excel-open-xml-linq-part-i.aspx

http://www.briankeating.net/blog/post/2010/04/26/Linq-to-Xlsx.aspx

如果你使用LINQ,这是一个明智的选择,绝对是我应对这类任务的唯一方法。对我来说,使用类似于在应用程序中使用其他对象的方式更直观,因此如果这是你的包,这种LINQ方法效果很好。