欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c# 使用NPOI进行文件导出

程序员文章站 2022-03-26 13:17:11
导出一些数据成Excel,程序可以使用的是Microsoft.Office.Interop.Excel类来操作Excel,但是这个东西移植性差,往往到别的电脑或服务器上出com组件问题。使用了NPOI(开源免费)可以避免此问题,而且操作也很简单。...

首先引入安装NPOI的dll组件,通过vs的工具-nuget包管理器搜索NPOI,直接安装会一起安装四个相关dll文件

NPOI.dll;

NPOI.OOXML.dll;

NPOI.OpenXml4Net.dll;

NPOI.OpenXmlFormats.dll;

下面贴上项目中实际的一段导出代码,供参考

//创建Excel文件的对象
NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook(); 
//添加一个sheet
NPOI.SS.UserModel.ISheet sheet1 = book.CreateSheet("Sheet1"); 
//给sheet1添加第一行的头部标题
NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(0);
row1.CreateCell(0).SetCellValue("ID");
row1.CreateCell(1).SetCellValue("身份");
row1.CreateCell(2).SetCellValue("名称");
row1.CreateCell(3).SetCellValue("国家地区"); 

// 将数据逐步写入sheet1各个行
for (int i = 0; i < Applicant.Count(); i++)
{
    NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + 1);
    rowtemp.CreateCell(0).SetCellValue(FileHelper.toString(Applicant[i].ID));
    rowtemp.CreateCell(1).SetCellValue(FileHelper.toString(Applicant[i].IdentityName));
    rowtemp.CreateCell(2).SetCellValue(FileHelper.toString(Applicant[i].Name));
    rowtemp.CreateCell(3).SetCellValue(FileHelper.toString(Applicant[i].CountryName)); 
}

// 写入保存 
    using (FileStream fs = System.IO.File.OpenWrite(excelFile + "信息表.xls"))
{
    book.Write(fs);
}