https://www.bbsmax.com/A/E35pB6wRzv/
借用NPOI来实现,要在同一Excel文件中创建多个sheet,只需要在同一个workbook中创建多个sheet即可。要注意的是,sheet的名字一定不能重复。下面是实现的代码:
- private void buttonTest_Click(object sender, EventArgs e)
- {
- HSSFWorkbook workBook = new HSSFWorkbook();
- //ISheet sheetA = workBook.CreateSheet("sheetA");
- //ISheet sheetB = workBook.CreateSheet("sheetB");
- createSheet(workBook,"SheetA");
- createSheet(workBook,"SheetB");
- createSheet(workBook,"SheetC");
- string path = Application.StartupPath + @"\test.xls";
- if (File.Exists(path))
- {
- File.Delete(path);
- }
- using (FileStream file = new FileStream(path, FileMode.Create))
- {
- workBook.Write(file); //创建Excel文件。
- file.Close();
- }
- MessageBox.Show("OK");
- }
- private ISheet createSheet(HSSFWorkbook workBook, string sheetName)
- {
- ISheet sheet = workBook.CreateSheet(sheetName);
- IRow RowHead = sheet.CreateRow(0);
- for (int iColumnIndex = 0; iColumnIndex < 10; iColumnIndex++)
- {
- RowHead.CreateCell(iColumnIndex).SetCellValue(Guid.NewGuid().ToString());
- }
- for (int iRowIndex = 0; iRowIndex < 20; iRowIndex++)
- {
- IRow RowBody = sheet.CreateRow(iRowIndex + 1);
- for (int iColumnIndex = 0; iColumnIndex < 10; iColumnIndex++)
- {
- RowBody.CreateCell(iColumnIndex).SetCellValue(DateTime.Now.Millisecond);
- sheet.AutoSizeColumn(iColumnIndex);
- }
- }
- return sheet;
- }