熱線電話:13121318867

登錄
首頁精彩閱讀C#讀取excel數據時,文本格式和數值格式的內容無法正常全部讀取
C#讀取excel數據時,文本格式和數值格式的內容無法正常全部讀取
2018-01-04
收藏

C#讀取excel數據時,文本格式和數值格式的內容無法正常全部讀取

表現:excel中某列中,有的單元格左上角有綠色箭頭標志,有的沒有,c#編寫讀取程序,但是只能讀取出帶綠色箭頭的單元格中的內容,其余不帶的讀取不到內容

原因:excel中單元格因為是文本格式而存儲了數值,導致后臺錯誤檢查,在左上角顯示綠色箭頭
解決:string strConn;
原來讀取不完全的寫法:strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/test.xls;"+
    "Extended Properties=Excel 8.0;";

完全讀出的寫法:strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/test.xls;"+
    "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
具體參數描述如下:
用OLEDB進行C#讀取Excel數據,并返回DataSet數據集。其中有幾點需要注意的:
C#讀取Excel數據1.連接字符串中參數IMEX 的值:
    0 is Export mode
    1 is Import mode
    2 is Linked mode (fullupdate capabilities)
IMEX有3個值:當IMEX=2 時,EXCEL文檔中同時含有字符型和數字型時,比如第C列有3個值,2個為數值型 123,1個為字符型 ABC,當導入時,頁面不報錯了,但庫里只顯示數值型的123,而字符型的ABC則呈現為空值。當IMEX=1時,無上述情況發生,庫里可正確呈現 123 和 ABC.
C#讀取Excel數據2.參數HDR的值:
HDR=Yes,這代表第一行是標題,不做為數據使用 ,如果用HDR=NO,則表示第一行不是標題,做為數據來使用。系統默認的是YES
C#讀取Excel數據3.參數Excel 8.0
對于Excel 97以上版本都用Excel 8.0Google AdSense 會在您的網站上提供與內容相關的廣告

    /**//// 〈 summary〉
    /// 讀取Excel文件,將內容存儲在DataSet中
    /// 〈 /summary〉
    /// 〈 param name="opnFileName"〉
    帶路徑的Excel文件名〈 /param〉
    /// 〈 returns〉 DataSet〈 /returns〉
    private DataSet ExcelToDataSet
    (string opnFileName)
    ...{
    string strConn = "Provider=Microsoft.
    Jet.OLEDB.4.0;Data Source=
    "+opnFileName+";
    Extended Properties=
    \"Excel 8.0;HDR=YES;IMEX=1\"";
    OleDbConnection conn =
    new OleDbConnection(strConn);
    string strExcel = "";
    OleDbDataAdapter myCommand = null;
    DataSet ds = new DataSet();
    strExcel = "select * from [sheet1$]";
    try
    ...{
    conn.Open();
    myCommand = new OleDbDataAdapter
    (strExcel, strConn);
    myCommand.Fill(ds,"dtSource");
    return ds;
    }
    catch (Exception ex)
    ...{
    MessageBox.Show("導入出錯:"
    + ex, "錯誤信息");
    return ds;
    }
    finally
    ...{
    conn.Close();
    conn.Dispose();
    }
    }

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢