Excel导入Dataset然后插入数据库.doc
文本预览下载声明
/// /summary??????????? /// param name=FilePath文件路径/param??????????? /// returns返回这个Excel表的数据集/returns??????????? public static DataSet GetDataSet(string FilePath)??????????? {??????????????? string OledbConnectionString = string.Format(Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + FilePath + ;Extended Properties=Excel 8.0;HDR=Yes;IMEX=1);??????????????? OleDbConnection conn = new OleDbConnection(OledbConnectionString);??????????????? ArrayList SheetNameList = new ArrayList();??????????????? try??????????????? {??????????????????? if (conn.State == ConnectionState.Closed)??????????????????? {??????????????????????? conn.Open();??????????????????? }??????????????????? DataTable dtExcelSchema = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, TABLE });??????????????????? string SheetName = ;??????????????????? for (int i = 0; i dtExcelSchema.Rows.Count; i++)??????????????????? {??????????????????????? SheetName = dtExcelSchema.Rows[i][TABLE_NAME].ToString();??????????????????????? SheetNameList.Add(SheetName);??????????????????? }
??????????????? }??????????????? catch (Exception ex)??????????????? {??????????????????? throw ex;??????????????? }??????????????? finally??????????????? {??????????????????? conn.Close();??????????????? }??????????????? DataSet dsExcel = new DataSet();
??????????????? try??????????????? {??????????????????? string strSql = ;
??????????????????? for (int i = 0; i SheetNameList.Count; i++)??????????????????? { ??????????????????????? strSql = select * from [ + (string)SheetNameList[i] + ];??????????????????????? OleDbDataAdapter oleExcelDataAdapter = new OleDbDataAdapter(strSql, conn);??????????????????????? DataTable dtExcel = new DataTable((string)SheetNameList[i]);??????????????????????? oleExcelDataAdapter.Fill(dtExcel);??????????????????????? dsExcel.Tables.Add(dtExcel);??????????????????? }??????????????????? return dsExcel;??????????????? }??????????????? c
显示全部