把Excel转换成数据集DataTable
2013-12-11 10:14 c_采药 阅读(455) 评论(0) 收藏 举报今天是第一次写,有点乱哦。
我的想法是吧Excel当作数据源,我们以sql 语句去读取数据,然后填充到Datatable中。
代码如下:
public static System.Data.DataTable ExcelToDataTable(string strExcelFileName, string strSheetName)
{
try
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" + "Extended Properties='Excel 5.0;IMEX=1'"; // string strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'", strExcelFileName);
// string strCon = @"Provider=Microsoft.ACE.OLEDB.4.0;Data Source=" + strExcelFileName + ";Extended Properties='Excel 5.0;HDR=YES;IMEX=1'";
string strExcel = string.Format("select * from [{0}$]", strSheetName);
DataSet ds = new DataSet();
using (OleDbConnection conn = new OleDbConnection(strConn))
{
conn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName);
conn.Close();
}
return ds.Tables[strSheetName];
}
catch (Exception ex)
{
return null;
}
}
浙公网安备 33010602011771号