2014-01-20 42 views
0

您好傢伙在我的MVC Web應用程序中使用Jet oledb從Excel中讀取數據時遇到問題。我的應用程序上傳Excel文件MVC3 web應用程序中的Jet Oledb讀取錯誤

這裏是我的構建連接字符串

if (0 == extension.CompareTo(".xls")) 
{ 
       connString = ConfigurationManager.ConnectionStrings["MicrosoftProviderForxls"].ConnectionString + 
        fileName + ConfigurationManager.ConnectionStrings["MicrosoftPropertyForxls"].ConnectionString; 
} 
代碼選項

的ConnectionString的值是

「供應商= Microsoft.Jet.OLEDB.4.0;數據 源= d:\ 20_18_18_26.xls;擴展屬性= Excel的8.0"

讓我爲r的數量,工作正常ows正確讀取。通過選擇某些行並按下「Backspace」或在Excel中使用刪除選項刪除該Excel文件中的某些行時,問題會發生。

這裏讀取的行數返回爲不正確,就像沒有行被刪除一樣。

我該如何解決這個問題?我是否需要任何參數添加到連接字符串,以確保空行不計算在內

回答

0

我想是這樣的

var isEmpty = row.ItemArray.All(x => x == null || (x != null && String.IsNullOrWhiteSpace(x.ToString()))); 
if (isEmpty) 
{ 
    emptyRow++; 
    continue; 
} 

我也想給IMEX = 1 conenction字符串,但它沒」因爲我選擇了上面的代碼。如果「IMEX」參數有效,會更好