2010-12-08 52 views
1

我有excel文件與下面的列C#應用程序導入Excel文件內容到一個文本文件

Field1 Field2 Field3, Field4 
=============================== 
123 4 abcd efghi 
456 5 aabb ffjjk 
789 7 ccdd ababa 

我想編寫 會讀取Excel文件,並創建一個文本文件C#控制檯應用程序 按照我的控制檯應用程序輸出

Field1 Field2 Field3, Field4 
=============================== 
123 4 ab hi 
456 5 aa jk 
789 7 cc ba 

,我應該能夠在Excel文件,開始和結束列每列來指定。

我將如何從頭到尾編寫應用程序?

+1

「從頭到尾」的聲音就像你希望別人做你的工作一樣。 我強烈建議指出一個具體問題。 – 2010-12-08 22:25:40

回答

4

這樣做的一種方法是查詢到電子數據表

string strConn = "Provider=Microsoft.Jet.OleDb.4.0;data source=C:\\Inetpub\\wwwroot\\CS\\HostData.xls;Extended Properties=Excel 8.0;"; 
OleDbConnection objConn = new OleDbConnection(strConn); 

string strSQL = "SELECT * FROM [A1:B439]"; 
OleDbCommand objCmd = new OleDbCommand(strSQL, objConn); 

objConn.Open(); 
dgReadHosts.DataSource = objCmd.ExecuteReader(); 
dgReadHosts.DataBind(); 
objConn.Close(); 

我抓住從這裏這個例子:http://forums.asp.net/t/1097496.aspx 另一個很好的來源是SO搜索:P Reading Excel files from C#

最後,我想你」我會喜歡這個:http://msdn.microsoft.com/en-us/library/dd920313.aspx
它包括一個例子使用LINQ AND和輸出電子表格的例子到CONSOL

2

你可以使用Excel自動化出去的數據,然後只是把它寫使用標準System.IO類的文件。

看到這裏的細節:How to automate Microsoft Excel from Microsoft Visual C#.NET

如果你成功地檢索一個行的所有值變成某種數組或列表的,然後你可以使用String.Join將其轉換成一個製表符分隔字符串,然後只寫每次一行到文件。

只得到一些列的值的某些部分,您可能能夠使用String.Substring

您可能也可以使用OleDB來讀取所有數據,因爲它似乎是表格格式,可能會更快並且避免依賴於安裝Excel。

相關問題