/// <summary> /// Excel转换成DataTable(.xls) /// </summary> /// <param name="filePath">Excel文件路径</param> /// <returns></returns> public static DataSet ExcelToDataTable(string filePath, string IsXls) { DataSet ds = new DataSet(); //ds.Clear(); DataTable dt = null; #region //DataTable dt = null; //DataSet ds = new DataSet(); //using (var file = new FileStream(filePath, FileMode.Open, FileAccess.Read)) //{ // if (IsXls == ".xlsx") // { // var hssfworkbook = new XSSFWorkbook(file); // int inns = hssfworkbook.NumberOfSheets; // for (int si = 0; si < inns; si++) // { // dt = new DataTable(); // var sheet = hssfworkbook.GetSheetAt(si); // for (var j = 0; j < 100; j++) // { // dt.Columns.Add(Convert.ToChar(((int)'A') + j).ToString()); // } // var rows = sheet.GetRowEnumerator(); // while (rows.MoveNext()) // { // var row = (XSSFRow)rows.Current; // DataRow dr = dt.NewRow(); // for (var i = 0; i < row.LastCellNum; i++) // { // var cell = row.GetCell(i); // if (cell == null) // { // dr[i] = null; // } // else // { // switch (cell.CellType) // { // case CellType.Blank: // dr[i] = ""; // break; // case CellType.Boolean: // dr[i] = cell.BooleanCellValue; // break; // case CellType.Numeric: // dr[i] = cell.ToString(); // break; // case CellType.String: // dr[i] = cell.StringCellValue; // break; // case CellType.Error: // dr[i] = cell.ErrorCellValue; // break; // case CellType.Formula: // try // { // dr[i] = cell.NumericCellValue; // } // catch // { // dr[i] = cell.StringCellValue; // } // break; // default: // dr[i] = "=" + cell.CellFormula; // break; // } // } // } // dt.Rows.Add(dr); // } // ds.Tables.Add(dt); // } // } // else // { // var hssfworkbook = new HSSFWorkbook(file); // int inns = hssfworkbook.NumberOfSheets; // for (int si = 0; si < inns; si++) // { // dt = new DataTable(); // var sheet = hssfworkbook.GetSheetAt(si); // for (var j = 0; j < 100; j++) // { // dt.Columns.Add(Convert.ToChar(((int)'A') + j).ToString()); // } // var rows = sheet.GetRowEnumerator(); // while (rows.MoveNext()) // { // var row = (HSSFRow)rows.Current; // DataRow dr = dt.NewRow(); // for (var i = 0; i < row.LastCellNum; i++) // { // var cell = row.GetCell(i); // if (cell == null) // { // dr[i] = null; // } // else // { // switch (cell.CellType) // { // case CellType.Blank: // dr[i] = ""; // break; // case CellType.Boolean: // dr[i] = cell.BooleanCellValue; // break; // case CellType.Numeric: // dr[i] = cell.ToString(); // break; // case CellType.String: // dr[i] = cell.StringCellValue; // break; // case CellType.Error: // dr[i] = cell.ErrorCellValue; // break; // case CellType.Formula: // try // { // dr[i] = cell.NumericCellValue; // } // catch // { // dr[i] = cell.StringCellValue; // } // break; // default: // dr[i] = "=" + cell.CellFormula; // break; // } // } // } // dt.Rows.Add(dr); // } // ds.Tables.Add(dt); // } // } //} //return ds; #endregion #region new ExcelHelp eh = new ExcelHelp(filePath); int sheet = eh.ReturnSheetList().Count; for (int i = 0; i < sheet; i++) { dt = new DataTable(); dt = eh.ExcelToDataTable(i); ds.Tables.Add(dt); } return(ds); #endregion }