我需要通过指定列索引来使用OLEDB读取excel文件。 举个例子,我需要在A,B,C,AA,BC等的红色数据中...(Excel中的列索引)
我怎么能这样做?
提前致谢。
答案 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方法效果很好。