将Excel中所有Sheet的数据导入一个DataSet
2008-06-12 11:50
519 查看
将Excel中所有Sheet的数据导入一个DataSet
2008-06-11 11:40
2008-06-11 11:40
# region 将Excel中所有Sheet的数据导入一个DataSet /**//// <summary> /// 将Excel中所有Sheet的数据导入一个DataSet /// </summary> /// <returns></returns> public static DataSet CreateDataSource(string strPath) { try { bool m_DelRow = false; string strConn = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = " + strPath + "; Extended Properties = 'Excel 8.0;HDR = Yes;IMEX = 1'"; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); System.Data.DataTable dtSheetName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[] {null,null,null,"Table"}); //=======删除文件中的打印区域============================================================ for(int k = 0;k < dtSheetName.Rows.Count;k++) { if(dtSheetName.Rows[k]["TABLE_NAME"].ToString().EndsWith("Print_Area")) { dtSheetName.Rows[k].Delete(); } } dtSheetName.AcceptChanges(); //======================================================================== string strSql = string.Empty; DataSet myDataSet = new DataSet(); //=========================================================================== for(int i = 0 ;i < dtSheetName.Rows.Count;i++) {//用多个表来填充myDataSet strSql = "Select * from [" + dtSheetName.Rows[i]["TABLE_NAME"].ToString() + "]"; OleDbDataAdapter myCommand = new OleDbDataAdapter(strSql,conn); myCommand.Fill(myDataSet,dtSheetName.Rows[i]["TABLE_NAME"].ToString()); } //==========删除空表========================================= // for(int h =0;h < myDataSet.Tables.Count;h++) // { // if(myDataSet.Tables[h].Rows.Count == 0) // { // myDataSet.Tables[h]. // } // } //删除文件中的全为空的行 for(int j = 0;j < myDataSet.Tables.Count;j++) { for(int i = 0;i < myDataSet.Tables[j].Rows.Count;i++) { for(int k = 0; k < myDataSet.Tables[j].Columns.Count;k++) { if(myDataSet.Tables[j].Rows[i][k].ToString() != string.Empty) { m_DelRow = true; } } if(!m_DelRow) { myDataSet.Tables[j].Rows[i].Delete(); } m_DelRow = false; } } myDataSet.AcceptChanges(); //================================================================================ m_DelRow = false; return myDataSet; } catch(Exception err) { Console.WriteLine(err.Message + System.Environment.NewLine + err.StackTrace); return null ; } } #endregion |
相关文章推荐
- 将Excel中所有Sheet的数据导入一个DataSet
- 让多个DataTable中的数据导入到一个excel中sheet中
- DataSet数据导出为Excel文档(每个DataTable为一个Sheet)
- NPOI实现多个dt数据导入一个EXCEL的多SHEET
- DataSet里所有数据导入Excel
- 将DataSet里所有数据导入Excel
- 导出Excel 把一个dataset的多个datatable导入到一个excel的多个sheet中
- DataSet里所有数据导入Excel
- 导出Excel 把一个dataset的多个datatable导入到一个excel的多个sheet中
- C# 如何将 不同的数据(多个查询结果集 dataset)导出到一个excel的不同sheet中
- 关于导出excel 把一个dataset的多个datatable导入到一个excel的多个sheet中
- 将DataSet里所有数据导入Excel
- 关于导出excel 把一个dataset的多个datatable导入到一个excel的多个sheet中
- 将Dataset中的多个DataTable导入到一个Excel文件的多个Sheet中
- 把DataSet的数据导入到Excel的多个sheet
- 从数据库导入到Excel表格(同时传四个表的数据到一个Excel中)
- SSIS【Foreach 循环容器_Foreach ADO.NET 架构行集枚举器】(循环导入一个Excel所有工作簿)
- Windows把一个目录下所有的文件文件中的数据导入程序中
- Excel导入DataSet数据丢失问题!
- 怎么由DataSet将数据导入Excel?