2012-11-15 98 views
0

我正在使用下面的代碼從Excel表格中讀取數據並將數據添加到數據表中,但是當讀取文件並檢查數據表中的數據時數據缺失..我一直在看這個,不知道爲什麼會這樣。所有數據都沒有從excel文件中讀取

excelConnectionString = 
        "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + 
         " ;Extended Properties=Excel 12.0"; 
      try 
      { 
       // Create Connection to Excel Workbook 
       using (OleDbConnection connection = 
       new OleDbConnection(excelConnectionString)) 
       { 
        connection.Open(); 
        System.Data.DataTable dt = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); 
        string[] excelSheet = new String[dt.Rows.Count]; 
        int sheet = 0; 
        foreach (DataRow row in dt.Rows) 
        { 
         excelSheet[sheet] = row["Table_Name"].ToString(); 
         sheet++; 

        } 
        for (int i = 0; i < excelSheet.Length; i++) 
        { 
         OleDbCommand command = new OleDbCommand 
          ("Select * FROM [" + excelSheet[i] + "]", connection); 

         adapter.SelectCommand = command; 
         adapter.Fill(dt); 
         dataGridView1.DataSource = dt; 
        } 
+0

你在談論列中的數據嗎? – Derek

回答

0

使用OledbConnection在Excel文件閱讀,你會在那裏通過爲每列字符的限制碰到一個問題,就是255

你可以嘗試加入「IMEX = 1;」到你的連接字符串的末尾,但我不確定這會解決你的問題。

+0

這不起作用 – user1776590

+0

在任何列中是否有超過255個字符? – Derek

相關問題