使用npoi将数据导出到一个EXCEL的多SHEET
使用npoi将数据导出到一个EXCEL的多SHEET一、实现原理
使用用NPOI实现在同一Excel文件中创建多个sheet,只需要在同一个Excel中创建多个sheet即可。
例如:
hssfworkbook.CreateSheet("业务部");
hssfworkbook.CreateSheet("研发部");
hssfworkbook.CreateSheet("财务部");
要注意的是,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;
}