• 最近有一个项目,涉及到文档操作,有一个固定的模版,模版中有文字和表格,表格会在新的文档中使用n多次

    //获取模版中的表格
    FileStream stream = new FileStream(strPath + "**.docx", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
    XWPFDocument docTemp = new XWPFDocument(stream);
    XWPFTable table=docTemp.Tables[0];
    XWPFDocument doc;
    Directory.CreateDirectory(strPath + "\\document");//系统报告模板路径
    FileStream stream = new FileStream("**.docx",FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
    XWPFDocument docTemp = new XWPFDocument(stream);
    XWPFTable table=docTemp.Tables[0];
    //单个表格的操作
    using (FileStream file = new FileStream("E:/01work/model2.docx", FileMode.Create, FileAccess.ReadWrite)) {
    doc = new XWPFDocument();
            int ct=doc.Tables.Count;
    table.GetRow(0).GetCell(0).SetText("");
       //对表格不停的操作……
    doc.CreateTable();
                 doc.SetTable(ct, table);
    }
    //在次之前一切正常
    XWPFDocument doc;
    Directory.CreateDirectory(strPath + "\\document");//系统报告模板路径
    FileStream stream = new FileStream("**.docx",FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
    XWPFDocument docTemp = new XWPFDocument(stream);
    XWPFTable table=docTemp.Tables[];
    //插入多个
    using (FileStream file = new FileStream("E:/01work/model2.docx", FileMode.Create, FileAccess.ReadWrite)) {
    doc = new XWPFDocument();
        for(int i=0;i<10;i++){
    table.GetRow().GetCell().SetText("");
       //对表格不停的操作…… int ct=doc.Tables.Count;
    doc.CreateTable();
    doc.SetTable(ct, table);
    }
    }

    运行后问题来了,所有的表格被填充一样的内容,无比的崩溃

  • 但我有一个原则,必须战胜它,努力了数小时之后
XWPFDocument doc;
Directory.CreateDirectory(strPath + "\\document");//系统报告模板路径
FileStream stream;
XWPFDocument docTemp;
XWPFTable table;
//插入多个
using (FileStream file = new FileStream("E:/01work/model2.docx", FileMode.Create, FileAccess.ReadWrite)) {
doc = new XWPFDocument();
    for(int i=;i<;i++){
        stream = new FileStream("**.docx",FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
docTemp = new XWPFDocument(stream);
stream.Close();//一定一定要记住关闭后再打开
table=docTemp.Tables[0];
table.GetRow().GetCell().SetText("");
   //对表格不停的操作…… int ct=doc.Tables.Count;
doc.CreateTable();
doc.SetTable(ct, table);
}
}

代码没有多少变化,也是辛勤汗水的浇注,希望能帮到大家

NPOI word文档表格在新的文档中多次使用的更多相关文章

  1. C#如何向word文档插入一个新段落及隐藏段落

    编辑Word文档时,我们有时会突然想增加一段新内容:而将word文档给他人浏览时,有些信息我们是不想让他人看到的.那么如何运用C#编程的方式巧妙地插入或隐藏段落呢?本文将与大家分享一种向Word文档插 ...

  2. Elasticsearch-更新现有文档

    ES-更新现有文档 ES的更新API允许发送文档所需要做的修改,而且API会返回一个答复,告知操作是否成功.更新流程如下 1. 检索现有的文档.为了使这步奏效,必须打开_source字段,否则ES并不 ...

  3. 编写Java程序,读取文本文档的内容,去除文本中包含的“广告”字样,把更改后的内容保存到一个新的文本文档中

    查看本章节 查看作业目录 需求说明: 读取文本文档的内容,去除文本中包含的"广告"字样,把更改后的内容保存到一个新的文本文档中 实现思路: 在main() 方法中,使用 new F ...

  4. 【java】Freemarker 动态生成word(带图片表格)

    1.添加freemarker.jar 到java项目. 2.新建word文档. 3.将文档另存为xml 格式. 4.将xml格式化后打开编辑(最好用notepad,有格式),找到需要替换的内容,将内容 ...

  5. Word批量设置表格宽度自动适应页面宽度

    怎么批量修改Word表格的宽度呢.Word表格可根据窗口自动调整表格宽度,使得所有的表格宽度和页面宽度一样. 当页面设置了新的页边距后,所有的表格都需要调整新的宽度.或者文档中有许多大大小小的表格,希 ...

  6. Word 文字转表格

    今天工作的时候遇到一个问题,需要整理出一个工程下依赖的jar的名称和大小,并且按照大小排序,我在使用一个java程序打印出名称和大小之后,需要将这些文字整理到word文档表格中,刚开始是想一个个的拷进 ...

  7. CEBX格式的文档如何转换为PDF格式文档、DOCX文档?

    方正阿帕比CEBX格式的文档如何转换为PDF格式文档.DOCX文档? 简介: PDF.Doc.Docx格式的文档使用的非常普遍,金山WPS可以直接打开PDF和Doc.Docx文档,使用也很方便. CE ...

  8. CentOS6.4下使用默认的文档查看器打开PDF文档乱码的解决方案

     最近在CentOS6.4下使用其默认的文档查看器打开PDF文档时出现乱码的方块,有两种方法可以解决.    方法一:修改/etc/fonts/conf.d/49-sansserif.conf文件,如 ...

  9. Java:多个文档合并输出到一个文档

    多个文档合并输出到一个文档 方法:Java NIO package First; import java.io.File; import java.io.FileInputStream; import ...

随机推荐

  1. springboot2 整合redis

    1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  2. Spring Boot2 系列教程 (十四) | 统一异常处理

    如题,今天介绍 SpringBoot 是如何统一处理全局异常的.SpringBoot 中的全局异常处理主要起作用的两个注解是 @ControllerAdvice 和 @ExceptionHandler ...

  3. Python中函数参数 *args 和 **kwargs

    普通参数,即在调用函数时必须按照准确的顺序来进行参数传递. 默认参数,即参数含有默认值,在调用函数时可以进行参数传递,若没有进行参数传递则使用默认值,要注意,默认参数必须在普通参数的右侧(否则解释器无 ...

  4. 通过HttpClient的方式去Curd数据⭐⭐⭐⭐

    在网上看博客的时候,看到这系列的文章,别特帮,强烈推荐 里面有一章节是通过HttpClient的方法去更新数据的,新颖,记录下. ⭐⭐⭐1:创建一个Model数据模型 这个类创建一个数据对象,Http ...

  5. Django 连接mysql 踩过的坑

    1.创建数据库 2.在Django项目文件下的settings.py配置数据库 3.在Django项目__init__.py文件中,用pymysql代替MySqlDB import pymysql p ...

  6. 浏览器警告Failed to decode downloaded font和OTS parsing error: Failed to convert *** font to ***

    昨晚,在做一个自己感兴趣的东西时,发现浏览器报警告,Failed to decode downloaded font以及OTS parsing error: Failed to convert *** ...

  7. idea实现svn拉分支和合并分支的教程

    原文地址:https://blog.csdn.net/qq_27471405/article/details/78498260 今天测试了一下svn拉分支和合并分支的教程,决定分享给大家 拉分支教程: ...

  8. Canny边缘检测算法(基于OpenCV的Java实现)

    目录 Canny边缘检测算法(基于OpenCV的Java实现) 绪论 Canny边缘检测算法的发展历史 Canny边缘检测算法的处理流程 用高斯滤波器平滑图像 彩色RGB图像转换为灰度图像 一维,二维 ...

  9. HttpClient介绍和使用

    HttpClient介绍和使用 今天有一个需求:后台访问一个接口,获取返回的数据.于是找到了HttpClient 1.介绍 SpringCloud中服务和服务之间的调用全部是使用HttpClient, ...

  10. springboot开发之配置自定义的错误界面和错误信息

    如何定制错误页面? (1)在有模板引擎的情况下:在template文件夹下的error/状态码:即将错误页面命名为:错误状态码.html放在template文件夹里面的error文件夹下,发生此状态码 ...