当前位置: 首页 > 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.gsyq.cn/news/25191.html

相关文章:

  • Python3 statistics 模块
  • 随机生成动态头像
  • 2025年AI搜索优化品牌推荐排行榜前十强深度解析
  • 2025年AI搜索优化品牌推荐排行榜:技术深度解析与选择指南
  • win10 开启大小核心调度--异类策略0~4介绍
  • Windows 已保护你的电脑:Microsoft Defender SmartScreen 阻止了无法识别的应用启动。运行此应用可能会导致你的电脑存在风险。
  • 恒生电子面经准备 - 详解
  • 想学习的数学
  • 详细介绍:Streamlit:CSS——从基础到实战美化应用
  • Win11设置默认打开全部右键菜单
  • 屏幕显示发白难题的硬件工程深度排查:架构兼容性边界分析
  • 详细介绍:【Linux】Linux管道与进程池深度解析:从原理到实战
  • windows2019的域控服务器更新时间.251020
  • 国内DOH解析速度测试(阿里 腾讯 360 Doh测速)
  • WatchAlert 轻量级AI日志告警 - Docker安装部署
  • java代码和c++代码相互调用的技术方案
  • 详细介绍:MyBatis动态sql
  • 对话智能体泛化研究在线挑战启动
  • 2025.10.20
  • 请求
  • 麒麟和win10双系统出现时间差异的问题
  • 软件研发项目管理提效方案|流程驱动 数据赋能:打造上下游信息透明的研发项目管理新模式
  • NetSuite-WMS瀚钰通仓库对接使用说明
  • 2025 硅钢片实力厂家最新推荐榜:聚焦 400 万只产能与 0.3mm 精度,解析专利技术与上市公司合作背景
  • 2025 年速冻机源头厂家最新推荐榜单:涵盖隧道式、大型、全自动、螺旋、箱式柜式小型等多类型设备,助力食品加工企业选优质供应商
  • 基于瑞萨R7F0C807的无线充电发送器设计
  • 2025 年冷却塔源头厂家最新推荐排行榜:无风机无填料节能型设备领衔,优质品牌深度解析
  • 【Docker项目实战】启用Docker部署WikiDocs文档管理工具
  • 微服务,Spring Cloud 和 Eureka:服务发现工具 - 教程
  • 2025年10月超声波清洗机厂家推荐榜:十强对比评测与选购指南。