private static void CreateRows <T>(this HSSFWorkbook workbook, HSSFSheet sheet, Dictionary <string, string> columns, IEnumerable <T> list, string sheetName = "Sheet") { HSSFCellStyle headStyle = workbook.SetHeaderStyle(); HSSFCellStyle cellStyle = workbook.SetCellStyle(); // 表头 sheet.CreateHeader(columns, headStyle); int rowCount = 1; int sheetCount = 0; foreach (T item in list) { //超出65536条数据 创建新的工作簿 if (rowCount == 65536) { sheetCount++; rowCount = 1; sheet = workbook.CreateSheet(sheetName + sheetCount); sheet.CreateHeader(columns, headStyle); } //excel从第2行开始 HSSFRow row = sheet.CreateRow(rowCount); workbook.CreateCells(row, columns, item, cellStyle); rowCount++; } }