NPOI使用手册------个人笔记
作者:@涛哥
本文为作者原创,转载请注明出处:https://www.cnblogs.com/taogeli/p/14782795.html
参考文章:https://www.cnblogs.com/joean/p/4661056.html
官方网站:http://npoi.codeplex.com/
示例文档:https://github.com/nissl-lab/npoi-examples
1.6 NPOI 1.2中各Assembly的作用
NPOI目前有好几个assembly,每个的作用各有不同,开发人员可以按需加载相应的assembly。在这里大概罗列一下:
NPOI.Util 基础辅助库
NPOI.POIFS OLE2格式读写库
NPOI.DDF Microsoft Drawing格式读写库
NPOI.SS Excel公式计算库
NPOI.HPSF OLE2的Summary Information和Document Summary Information属性读写库
NPOI.HSSF Excel BIFF格式读写库
NPOI 1.2教程 - 2.1.1 创建Workbook和Sheet
要创建一个新的xls文件其实很简单,只要我们初始化一个新的HSSFWorkbook实例就行了,如下所示:
HSSFWorkbook hssfworkbook = new HSSFWorkbook();
var sheet = hssfworkbook.CreateSheet("Sheet1");
var file = new FileStream(@"C:\Users\Desktop\workbook.xls", FileMode.Create);
hssfworkbook.Write(file);
file.Close();
NPOI 1.2教程 - 2.1.2 创建DocumentSummaryInformation和SummaryInformation--摘要/属性
XSSFWorkbook workbook = new XSSFWorkbook();
ISheet sheet1 = workbook.CreateSheet("Sheet1");
POIXMLProperties props = workbook.GetProperties();
props.CoreProperties.Creator = "NPOI 2.5.1";
props.CoreProperties.Created = DateTime.Now;
if (!props.CustomProperties.Contains("NPOI Team"))
props.CustomProperties.AddProperty("NPOI Team", "Hello World!");
FileStream sw = File.Create(@"C:\Users\liwen\Desktop\test.xlsx");
workbook.Write(sw);
sw.Close();
NPOI 1.2教程 - 2.1.3 创建单元格
IWorkbook workbook = new XSSFWorkbook();
ISheet worksheet = workbook.CreateSheet("Sheet1");
for (int rownum = 0; rownum < 10000; rownum++)
{
IRow row = worksheet.CreateRow(rownum);
for (int celnum = 0; celnum < 20; celnum++)
{
ICell Cell = row.CreateCell(celnum);
Cell.SetCellValue("Cell: Row-" + rownum + ";CellNo:" + celnum);
}
}
FileStream sw = File.Create("test.xlsx");
workbook.Write(sw);
sw.Close();
如果你要获得某一个已经创建的单元格对象,可以用下面的代码:
sheet1.GetRow(row_index).GetCell(column_index);
NPOI 1.2教程 - 2.2.1 设置单元格格式
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通