const string fileName = "d:\aa.xlsx"; //路徑 FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate); //讀取文件流 HSSFWorkbook workbook = new HSSFWorkbook(fs); //根據EXCEL文件流初始化工作簿 var sheet1= workbook.GetSheetAt(0); //獲取第一個sheet DataTable table = new DataTable();// var row1 = sheet1.GetRow(0);//獲取第一行即標頭 int cellCount = row1.LastCellNum; //第一行的列數 //把第一行的數據添加到datatable的列名 for (int i = row1.FirstCellNum; i < cellCount; i++) { DataColumn column = new DataColumn(row1.GetCell(i).StringCellValue); table.Columns.Add(column); } int rowCount = sheet1.LastRowNum; //總行數 //把每行數據添加到datatable中 for (int i = (sheet1.FirstRowNum + 1); i < sheet1.LastRowNum; i++) { HSSFRow row = sheet1.GetRow(i); DataRow dataRow = table.NewRow(); for (int j = row.FirstCellNum; j < cellCount; j++) { if (row.GetCell(j) != null) dataRow[j] = row.GetCell(j).ToString(); } table.Rows.Add(dataRow); } //到這裏 table 已經可以用來做數據源使用了 workbook = null; //清空工作簿--釋放資源 sheet1 = null; //清空sheet