C# 從Excel表中匯入資料函數到DataSet
來源:互聯網
上載者:User
/// <summary>
/// 讀取Excel表格式資料方法三,返回資料集DataSet
/// </summary>
/// <param name="str">所要開啟的檔案地址</param>
/// <returns></returns>
private DataSet GetExcelDataSet1(string strExcelFilePath)
{
try
{
///建立串連,讀取表格中的資料
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source =" + strExcelFilePath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';";///建立串連,地址為str傳遞的地址
OleDbConnection myConn = new OleDbConnection(strCon);
string strCom = " SELECT * FROM [Sheet1$A:Q]";///SQL動作陳述式,就是說:取得所有資料從Sheet1
myConn.Open();
OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
DataSet myDataSet = new DataSet();///建立新的資料集myDataSet
myCommand.Fill(myDataSet, "[Sheet1$]");///填充資料集
myConn.Close();
int columnNum = myDataSet.Tables[0].Columns.Count;///讀取列數並賦值給columnNum
int rowNum = myDataSet.Tables[0].Rows.Count;///讀取行數並賦值給rowNum
int resultRowNum = columnNum - 1;
Console.WriteLine("列數"+columnNum.ToString());
Console.WriteLine("行數" + rowNum.ToString());
Console.WriteLine("有效記錄數" + resultRowNum.ToString());
///讀取結果行數(實際上就是去掉第一列編號列的列數,我的程式中將結果顯示橫置了)
return myDataSet;
}
catch (Exception ex)
{
MessageBox.Show("發生錯誤" + ex.Message);
return null;
}
}