日期:2014-05-18 浏览次数:20984 次
/// <summary>
/// 将excel中指定sheet内容读入dataset
/// </summary>
/// <param name="fileName">excel文件路径</param>
/// <param name="sheetNames">需从excel中读取的sheet名称</param>
/// <returns></returns>
public DataSet TransExcelToDataSet(string fileName, List<string> sheetNames)
{
OleDbConnection objConn = null;
DataSet data = new DataSet();
try
{
//创建读取excel连接
string strConn = "Provider=Microsoft.Jet.OleDb.4.0;" + "data source=" + fileName
+ ";Extended Properties='Excel 8.0; HDR=YES; IMEX=1'";
objConn = new OleDbConnection(strConn);
objConn.Open();
OleDbDataAdapter sqlada = new OleDbDataAdapter();
//遍历从配置文件中读取的sheet名称
foreach (string sheetName in sheetNames)
{
string strSql = "select * From [" + sheetName.Trim() + "$]";
OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
sqlada.SelectCommand = objCmd;
//填充dataset
sqlada.Fill(data, sheetName);
}
}
catch (Exception e)
{
throw new Exception("将excel中指定sheet内容读入dataset出错!"+e.Message);
}
finally
{
if (objConn != null)
{
objConn.Dispose();
objConn.Close();
}
}
return data;
}