导入Excel到数据库中是一个常见的操作,这里采用两种实现,一种比较简洁,一种侧重效率。
这里说明一下:导入的Excel可以包含多个sheet,最终都导入到dataset的同一个table中。
一、简洁实现:
/// <summary>
/// 导入Excel到DataSet中
/// </summary>
/// <param name="strFileSourse">文件的路径和文件全名,含扩展名</param>
/// <returns></returns>
public DataSet ExcelToDataSet(string strFileSourse)
{
DataSet ds = new DataSet();
//Excel数据源(兼容03/10)
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strFileSourse + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";
//连接
OleDbConnection conn = new OleDbConnection(strConn);
try
{
conn.Open();
//获取Excel中所有的sheet
DataTable dtSheet = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
//把Excel中所有的sheet数据读到一个Table中
for (int i = 0; i < dtSheet