C#利用NPOI简单导出Excel

个人感觉国人开发的 NPOI 好用,至少比vs自带的 Excel 库函数好用。
既然不是自带,那就需要添加 dll,大概两种方式下载 NPOI.dll,一是官网,二是NuGet包,那肯定推荐 NuGet。

如果只想简单导出一个Excel,不整其他幺蛾子,添加这两个引用就可以了

using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;

1、从数据库查询数据到集合(非本文主题,略过)
2、主体(代码块阐明步骤)

1、创建工作簿
HSSFWorkbook workBook = new HSSFWorkbook();

2、创建sheet
HSSFSheet sheet = (HSSFSheet)workBook.CreateSheet("X_name_X");

3、表头(可建可不建)

定义行、单元格
IRow row;
ICell cell;

//第一行
row = sheet.CreateRow(0);

for (int i = 0; i < 3; i++)(假定三列)
{
    //第一行中的所有单元格
     cell = row.CreateCell(i);
}
row.GetCell(0).SetCellValue("第一列");
row.GetCell(1).SetCellValue("第二列");
row.GetCell(2).SetCellValue("第三列");

4、表数据(数据库中查出来并存入集合Test_List中)

for (int i = 0; i < Test_List.Count; i++)
{
    row = sheet.CreateRow(i + 1); //数据就放在表头下面
    for (int j = 0; j < 3; j++)
    {
        cell = row.CreateCell(j);
    }
    row.GetCell(0).SetCellValue(Test_List[i].xx1);
    row.GetCell(1).SetCellValue(Test_List[i].xx2);
    row.GetCell(2).SetCellValue(Test_List[i].xx3);//Test_List中设定好的字段
}

5、生成文件

string FileName = "TEST" + ".xls";
string FilePath = @"E:\TEST";

using (FileStream file = new FileStream(FilePath + FileName, FileMode.Create))
{
    workBook.Write(file);
}


 

你可能感兴趣的:(npoi的学习)