使用npoi将数据导出到一个EXCEL的多SHEET

使用npoi将数据导出到一个EXCEL的多SHEET

一、实现原理

使用用NPOI实现在同一Excel文件中创建多个sheet,只需要在同一个Excel中创建多个sheet即可。

例如:

hssfworkbook.CreateSheet("业务部");
hssfworkbook.CreateSheet("研发部");
hssfworkbook.CreateSheet("财务部");

要注意的是,sheet的名字一定不能重复。

二、导出实例

  •  
  • C# 代码   复制
  • 
            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;
            }
    
    		
  • 标签: