NPOI使用记录

1.安装

nuget搜索选择对应版本安装

安装完成后查看项目引用是否存在这些DLL

开始使用前熟悉理解的方法

IWorkbook excel = new HSSFWorkbook();//创建.xls文件

ISheet sheet = excel.CreateSheet("sheet1"); //创建sheet工作表1

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(0, 0, 0, 9));//合并单元格功能 从开始行到结束行 开始列到结束列

在NPOI里面是从0开始 对应excel上面1开始

sheet.CreateRow(Row).CreateCell(0).SetCellValue("值");//创建0行0列并且写入值 相当于在excel A1单元格写入一个值

sheet.GetRow(0).Height = 30 * 20;//设置第0行高

举例说明要构建如下图excel格式

IWorkbook excel = new HSSFWorkbook();//创建.xls文件

ISheet sheet = excel.CreateSheet("sheet1"); //创建sheet工作表1

//设置列对象

for (int i = 0; i < 10; i++)

{

if (i == 0)

{

sheet.SetColumnWidth(i, 10 * 256);

}

else

{

sheet.SetColumnWidth(i, 20 * 256);

}

}

int Row = 0;

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(0, 0, 0, 9));//从开始行到结束行 开始列到结束列

sheet.CreateRow(Row).CreateCell(0).SetCellValue("产品报价清单");

sheet.GetRow(Row).Height = 30 * 20;

//设置样式

ICellStyle titleStyle = excel.CreateCellStyle();

IFont titleFont = excel.CreateFont();

titleFont.FontHeightInPoints = 20;//设置字体大小

titleFont.IsBold = true;//加粗

titleStyle.SetFont(titleFont);

titleStyle.VerticalAlignment = VerticalAlignment.Center;

titleStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;//居中

sheet.GetRow(Row).GetCell(0).CellStyle = titleStyle;

//开始头部设计

ICellStyle cellStyle = CreateRowStyle(excel);

IFont font = SetFontStyle(excel, 11, false);

// cellStyle.VerticalAlignment = VerticalAlignment.Center;

cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;//居中

cellStyle.SetFont(font);

//先创建表头单元格格子

for (int i_head = 1; i_head < 5; i_head++)

{

sheet.CreateRow(i_head);

for (int i = 0; i < 10; i++)

{

sheet.GetRow(i_head).CreateCell(i).SetCellValue("");

sheet.GetRow(i_head).GetCell(i).CellStyle = cellStyle;

}

}

Row++;

sheet.GetRow(Row).GetCell(0).SetCellValue("产品名称");

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(Row, Row, 0, 1));

sheet.GetRow(Row).GetCell(2).SetCellValue(dt.Rows[0]["cInvName"].ToString());

sheet.GetRow(Row).GetCell(3).SetCellValue("产品型号");

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(Row, Row, 3, 4));

sheet.GetRow(Row).GetCell(5).SetCellValue(dt.Rows[0]["cInvStd"].ToString());

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(Row, Row, 5, 7));

sheet.GetRow(Row).GetCell(8).SetCellValue("产品数量");

sheet.GetRow(Row).GetCell(9).SetCellValue(dt.Rows[0]["cInvQty"].ToString());

Row++;

sheet.GetRow(Row).GetCell(0).SetCellValue("代理商");

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(Row, Row, 0, 1));

sheet.GetRow(Row).GetCell(2).SetCellValue(dt.Rows[0]["cAgentName"].ToString());

sheet.GetRow(Row).GetCell(3).SetCellValue("图纸号");

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(Row, Row, 3, 4));

sheet.GetRow(Row).GetCell(5).SetCellValue(dt.Rows[0]["cDrawNo"].ToString());

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(Row, Row, 5, 7));

sheet.GetRow(Row).GetCell(8).SetCellValue("防护等级");

sheet.GetRow(Row).GetCell(9).SetCellValue(dt.Rows[0]["cDegreeLevel"].ToString());

Row++;

sheet.GetRow(Row).GetCell(0).SetCellValue("客户名称");

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(Row, Row, 0, 1));

sheet.GetRow(Row).GetCell(2).SetCellValue(dt.Rows[0]["cCusName"].ToString());

sheet.GetRow(Row).GetCell(3).SetCellValue("合同号");

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(Row, Row, 3, 4));

sheet.GetRow(Row).GetCell(5).SetCellValue(dt.Rows[0]["cContractNum"].ToString());

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(Row, Row, 5, 7));

sheet.GetRow(Row).GetCell(8).SetCellValue("办事处");

sheet.GetRow(Row).GetCell(9).SetCellValue(dt.Rows[0]["cOffice"].ToString());

Row++;

sheet.GetRow(Row).GetCell(0).SetCellValue("项目名称");

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(Row, Row, 0, 1));

sheet.GetRow(Row).GetCell(2).SetCellValue(dt.Rows[0]["cProjectName"].ToString());

sheet.GetRow(Row).GetCell(3).SetCellValue("位号");

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(Row, Row, 3, 4));

sheet.GetRow(Row).GetCell(5).SetCellValue(dt.Rows[0]["cTags"].ToString());

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(Row, Row, 5, 6));

sheet.GetRow(Row).GetCell(7).SetCellValue("防爆标志");

sheet.GetRow(Row).GetCell(8).SetCellValue(dt.Rows[0]["cSigns"].ToString());

sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(Row, Row, 8, 9));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值