2011-04-07 137 views
0

我需要通過指定列索引來讀取使用OLEDB的Excel文件。 例如,我需要在列A,B,C,AA,BC等紅色數據...(Excel中的列索引)C#按列讀取Excel文件索引

我該如何做?

在此先感謝。

回答

1

您試過了這樣的查詢SELECT A,B,C,AA,BC FROM Sheet1$?確保將Extended Properties="Excel 12.0;HDR=YES放入OLEDB連接字符串中,它將幫助您將第一行視爲標題。

+0

HI它沒有工作。我認爲問題出在「Excel 12.0」中。在我的程序中它是「Excel 8.0」。無論如何,也沒有奏效 – Thanushka 2011-04-08 08:40:32

0

首先寫一個小函數將A,B,C,AA ...轉換爲1,2,3,27,... 然後用編號索引找到列。網上應該有很多例子來幫助你做到這一點。

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方法運行良好。