/// <summary>
/// 按照word模板文件 生成新word文件
/// </summary>
/// <param name="tempFile">模板文件路径</param>
/// <param name="saveFile">生成文件路径</param>
/// <param name="billRegister">议案登记</param>
public void CreateFileByTemplate(string tempFile,string saveFile, L1BillRegister billRegister)
{
using (FileStream stream = File.OpenRead(tempFile))
{
XWPFDocument doc = new XWPFDocument(stream); //遍历段落
foreach (var para in doc.Paragraphs)
{
ReplaceKey(para, billRegister);
} //遍历表格
foreach (var table in doc.Tables)
{
foreach (var row in table.Rows)
{
foreach (var cell in row.GetTableCells())
{
foreach (var para in cell.Paragraphs)
{
ReplaceKey(para, billRegister);
}
}
}
}
FileStream out1 = new FileStream(saveFile, FileMode.Create);
doc.Write(out1);
out1.Close();
}
} /// <summary>
/// 对模板中的值进行替换
/// </summary>
/// <param name="para">word文档对象</param>
/// <param name="billRegister">议案登记对象</param>
private static void ReplaceKey(XWPFParagraph para, L1BillRegister billRegister)
{
string text = "";
foreach (var run in para.Runs)
{
text = run.ToString();
if (text.Contains("a"))
{
run.SetText(billRegister.BillName, 0);
}
else
{
run.SetText(text, 0);
}
}
} //调用
string tempFile = System.Web.HttpContext.Current.Server.MapPath("~/weboffice/tempfiles/meetSolutions.docx");
string saveFile = System.Web.HttpContext.Current.Server.MapPath("~/weboffice/tempfiles/test/" + billRegister.BillId + ".doc");
this.CreateFileByTemplate(tempFile,saveFile, billRegister);

  

使用NPOI按照word模板文件生成新的word文件的更多相关文章

  1. C#读取Word模板替换相应的字符串(标签)生成新的Word

    在平常工作中,生成word的方式主要是C#读取html的模板文件处理之后保存为.doc文件,这样的好处是方便,快捷,能满足大部分的需求.不过有些特殊的需求并不能满足,如要生成的Word为一个表格,只是 ...

  2. MiniWord .NET Word模板引擎,藉由Word模板和数据简单、快速生成文件。

    Github / Gitee QQ群(1群) : 813100564 / QQ群(2群) : 579033769 介绍 MiniWord .NET Word模板引擎,藉由Word模板和数据简单.快速生 ...

  3. windows通过pfx文件生成key、crt文件

    nginx代理的时候,需要填写证书的crt跟rsa文件路径,通过iis导出的证书是pfx文件(不知道nginx能不能直接用pfx文件,没有查看过相关资料),所以要通过pfx文件生成crt.rsa文件. ...

  4. php根据word模板生成新的word文件

    原文地址:http://www.niu12.com/article/16 php使用phpword将word内容变量替换 a.安装phpword composer require phpoffice/ ...

  5. java代码操作word模板并生成PDF

    这个博客自己现在没时间写,等后面有时间了,自己再写. 这中需求是在实际的项目开发中是会经常遇到的. 下面我们先从简单入手一步一步开始. 1.首先,使用word创建一个6行两列的表格. 点击插入-6行2 ...

  6. 依据word模板批量生成试卷

    java-word-MassProduction 目录 使用方法 开发流程 一.使用方法 1.制造题库所需Word模板 需要填充数据的地方使用 ${pid} 代替. 将这个word选择另存为,保存格式 ...

  7. 依据BOM和已经存在的文件生成其他种类的文件

    在BOM中记录中有物料编码,物料名称,物料规格等,而且依据BOM已经生成了一些的文件,如采购规格书,这个时候需要生成相应的检验规格书模板,可以使用下面的VBA代码,具体代码如下: Function I ...

  8. POI3.10读取Excel模板填充数据后生成新的Excel文件

    private final DecimalFormat df = new DecimalFormat("#0.00"); public void test(){ String fi ...

  9. 使用T4模板同时生成多个类文件

    代码: <#@ template language="C#" debug="false" hostspecific="true"#&g ...

随机推荐

  1. ceph crush的问题

    ceph crush的问题看一遍忘一遍,现将<ceph源码分析>一书中相关章节摘抄如下: 4.2.1 层级化的Cluster Map例4-1 Cluster Map定义层级化的Cluste ...

  2. 【转载】Spring Cloud全家桶主要组件及简要介绍

    https://blog.csdn.net/xlgen157387/article/details/77773908

  3. L1-057 PTA使我精神焕发

    以上是湖北经济学院同学的大作.本题就请你用汉语拼音输出这句话. 输入格式: 本题没有输入. 输出格式: 在一行中按照样例输出,以惊叹号结尾. 输入样例: 无 输出样例: PTA shi3 wo3 ji ...

  4. Centos7配置TiDB监控

    一: 1.1:http://192.168.1.12:3000/ 1.2:点击install Grafana wget https://dl.grafana.com/oss/release/grafa ...

  5. 在电脑中配置SQLServer数据源

    要想其他软件(R.python等)能连接SQLServer数据库,必须在这些软件所在点电脑下配置相应的数据源(ODBC).我的电脑是在Windows下的,配置步骤如下: 1.控制面板-----> ...

  6. 复制目录及其子目录下所有文件DOC

    echo 开始同步代码 set src_home=F:\work\sign\Bonade-Sign set dest_home=F:\work\testGit\sign5\Bonade-Sign se ...

  7. Java 1.7 NQuery

    package org.rx.common; import java.lang.reflect.Array; import java.util.*; /** * Created by wangxiao ...

  8. nodejs - 1)上传图片 ,并显示 , 2)模块 formidable

    1.代码: 1-1: 入口文件: index.js var server = require('./server'); var router = require("./router" ...

  9. Java学习笔记34(sql基础 :增删改查1)

    create database qy97;/*创建数据库*/ use qy97; /*使用数据库 use 数据库名*/ show tables; /*查看所有的表*/ select database( ...

  10. FreeMarker基础语法,宏,引用 等

    FreeMarker的插值有如下两种类型: 1,通用插值${expr}; 2,数字格式化插值:#{expr}或#{expr;format} ${book.name?if_exists } //用于判断 ...