public const string EXCELCONNECTION = "Provider=Microsoft.Jet.OLEDB.4.0;"
+ " Extended Properties='Excel 8.0;"
+ " HDR=YES';";
public const string EXCEL_FILTER = "Microsoft Office Excel 工作簿 (﹡.xls)|*.xls";
#endregion
/// <summary>
/// 将Excel文件的数据导出到DataTable
/// </summary>
/// <param name="strExcelFileName">Excel 文件名</param>
/// <param name="dt">out参数,返回DataTable</param>
/// <param name="strError">out参数,返回出错信息</param>
/// <returns>
/// -1 出错
/// 0 成功
/// </returns>
/// 注:本函数目前只导出Sheet1$表的数据
public static int Excel2DataTable(string strExcelFileName,
out DataTable dt,
out string strError)
{
strError = "";
int nRet = 0;
dt = null;
if (String.IsNullOrEmpty(strExcelFileName) == true)
{
strError = "strExcelFile参数不能为空";
return -1;
}
if (File.Exists(strExcelFileName) == false)
{
strError = "文件'" + strExcelFileName + "'不存在";
return -1;
}
// 执行导出数据
string strConnection = ExcelADOUtil.EXCELCONNECTION
+ "Data Source=" + strExcelFileName + ";";
OleDbConnection connection = new OleDbConnection(strConnection);
connection.Open();
try
{
//-----------------------------------
string strCommand = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter adapter = new OleDbDataAdapter(strCommand, connection);
dt = new DataTable();
int nCount = adapter.Fill(dt);
//-------------------------------------
}
catch (Exception ex)
{
strError = ex.Message;
return -1;
}
finally
{
connection.Close();
}
return 0;
}