C#讀取Excel數(shù)據(jù)需要注意的幾點
C#讀取Excel數(shù)據(jù)有幾點需要注意的:
1.連接字符串中參數(shù)IMEX 的值:
0 is Export mode 1 is Import mode 2 is Linked mode (full update capabilities)
IMEX有3個值:當IMEX=2 時,EXCEL文檔中同時含有字符型和數(shù)字型時,比如第C列有3個值,2個為數(shù)值型 123,1個為字符型 ABC,當導入時,頁面不報錯了,但庫里只顯示數(shù)值型的123,而字符型的ABC則呈現(xiàn)為空值。當IMEX=1時,無上述情況發(fā)生,庫里可正確呈現(xiàn) 123 和 ABC.
2.參數(shù)HDR的值:
HDR=Yes,這代表***行是標題,不做為數(shù)據(jù)使用 ,如果用HDR=NO,則表示***行不是標題,做為數(shù)據(jù)來使用。系統(tǒng)默認的是YES
3.參數(shù)Excel 8.0
對于C#讀取Excel數(shù)據(jù),Excel 97以上版本都用Excel 8.0
- ///
 - /// C#讀取Excel數(shù)據(jù),將內(nèi)容存儲在DataSet中
 - ///
 - /// 帶路徑的Excel文件名
 - ///
 DataSet - 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();
 - }
 - }
 
【編輯推薦】















 
 
 

 
 
 
 