当前位置: 首页 > news >正文

C# 使用NPOI生成Word文件

NuGet 安装 NPOI

1. 建立模板(可选): 手动建立Word模板, 多使用表格然后隐藏边框, 方便数据插入固定位置

2. 建立Word对象引入模板

string dPath = $"{Environment.CurrentDirectory}\\Data\\Demo.docx";
Stream fs = new FileStream(dPath, FileMode.Open);
XWPFDocument document = new XWPFDocument(fs);

3. 段落插入

public void Main()
{string dPath = $"{Environment.CurrentDirectory}\\Data\\Demo.docx";Stream fs = new FileStream(dPath, FileMode.Open);XWPFDocument document = new XWPFDocument(fs);AddParagraph(document, 0, 2, 2, AddPlaceholder(a1));AddParagraph(document, 0, 3, 2, AddPlaceholder(a2));AddParagraph(document, 0, 4, 2, AddPlaceholder(a3));
}
/// <summary>
/// 表格内插入段落
/// </summary>
/// <param name="document">模板对象</param>
/// <param name="TabIndex">表格序号</param>
/// <param name="Row"></param>
/// <param name="Cell"></param>
/// <param name="value">插入数据</param>
/// <returns></returns>
public XWPFParagraph AddParagraph(XWPFDocument document, int TabIndex, int Row, int Cell, string value)
{XWPFParagraph paragraph = document.Tables[TabIndex].GetRow(Row).GetCell(Cell).Paragraphs[0]; //创建段落对象paragraph.Alignment = ParagraphAlignment.CENTER;//文字显示位置,段落排列(左对齐,居中,右对齐)XWPFRun xwpfRun = paragraph.CreateRun();//创建段落文本对象xwpfRun.SetText(value);//填充内容xwpfRun.FontSize = 14;//设置文字大小xwpfRun.IsItalic = false;//是否设置斜体(字体倾斜)//xwpfRun.SetColor(fontColor);//设置字体颜色--十六进制xwpfRun.SetFontFamily("宋体", FontCharRange.None); //设置标题样式如:(微软雅黑,隶书,楷体)根据自己的需求而定return paragraph;
}

4. 插入图片

table = document.Tables[4];XWPFTableCell Cell = table.GetRow(1).GetCell(0);
XWPFParagraph p = Cell.Paragraphs[0];
XWPFRun run = p.CreateRun();
using (FileStream file = File.Open($"{PDFpath}.png", FileMode.OpenOrCreate))
{run.AddPicture(file, (int)NPOI.XWPF.UserModel.PictureType.PNG, "1.png", 5100000, 3000000);
}

5. 保存文件

sting SavePath = $"{Environment.CurrentDirectory}\\TestData\\{TestProject.ProjectName}\\{ObjectName}.docx";
using (FileStream fswrite = File.Open(SavePath, FileMode.OpenOrCreate))
{document.Write(fswrite);
}document.Close();

 

http://www.jsqmd.com/news/17389/

相关文章:

  • 2025年太阳能板定制厂家口碑排行榜单:权威推荐与选择指南
  • 2025年太阳能板定制厂家口碑排行榜前十强:专业评测与选择指南
  • Python3 statistics 模块
  • linux内核开发学习计划
  • 2025年湖北武汉实验室装修/实验室设计/实验室改造哪个厂家好
  • 能源AI天团:多智能体如何破解行业复杂任务 - 实践
  • 2025年AI搜索优化品牌推荐排行榜前十强深度解析
  • 2025年AI搜索优化品牌推荐排行榜:技术深度解析与选择指南
  • 2025年AI搜索优化品牌排行榜前十强权威发布
  • 直播回顾|PostgreSQL 18 六大新特性深度解析
  • 异常----Windows 已保护你的电脑:Microsoft Defender SmartScreen 阻止了无法识别的应用启动。运行此应用可能会导致你的电脑存在风险。
  • win10 开启大小核心调度--异类策略0~4介绍
  • Windows 已保护你的电脑:Microsoft Defender SmartScreen 阻止了无法识别的应用启动。运行此应用可能会导致你的电脑存在风险。
  • 深入解析:Thinkphp-Laravel467 小程序校运会高校运动会管理系统
  • 恒生电子面经准备 - 详解
  • 082_尚硅谷_单分支双分支课堂练习(2)
  • 把“扔硬币”搬到互联网:一文看懂 AB 测试的底层逻辑 - 指南
  • 实用指南:IEC 60364-7-722-2018低压电气装置中电动车供电安全要求标准介绍
  • 记录下,cadence17.4 PCB封装更新方法
  • c#设计模式—访问者模式 - 教程
  • springboot使用aop切面,记录日志
  • 【整活】OI的那些奇妙小操作(Part 1)
  • 想学习的数学
  • 详细介绍:Streamlit:CSS——从基础到实战美化应用
  • SqlServer 事务复制的两个参数immediate_sync,allow_anonymous
  • OO之接口-DAO模式代码阅读及应用
  • 个微协议,微信号二次开发/ipad协议
  • Win11设置默认打开全部右键菜单
  • 屏幕显示发白难题的硬件工程深度排查:架构兼容性边界分析
  • 发现概率