2010-07-06 54 views
0

喂號設置單元格的,我如下因素代碼:錯誤而與OleDbDataAdapter的和Excel

 OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.xls;Extended Properties=\"Excel 8.0;Imex=1;HDR=False;\""); 
     OleDbDataAdapter da = new("select * from [" + TableName + "$]", con); 
     DataSet dsData = new System.Data.DataSet(); 

     con.Open(); 

     da.Fill(dsData); 

     dataGridView1.DataSource = dsData.Tables[0]; 

我嘗試從用Excel 2007 SP2創建的文件中讀取數據。

如果我的Excel文件(test.xls)已關閉,那麼帶有數字的單元格的格式正好在dataGridView1的表格中。

像這樣:5,0(一個逗號地方格式化)顯示爲5,0

如果我的Excel文件(TEST.XLS)被打開,細胞與數字格式是不正確的。

喜歡這個:5,0顯示爲5 !!!

的Excel 2007 SP2 的Microsoft Visual C#2008 .Net框架2.0

感謝您幫助每

回答

0

我不認爲你可以設置與OLEDB的格式,我認爲只關心數據。如果您想按照您的要求格式化數據,則可能必須回退到Excel Automation,您可以完全控制該數據(可能使用OleDB編寫數據並使用Automation打開該文件可能更有效,並且設置格式)。

如果你會走這條路線,這裏有一個例子:How to automate Microsoft Excel from Microsoft Visual C#.NET

雖然知道這是不建議,如果一臺服務器上運行。