NPOI word文档表格在新的文档中多次使用
2024-10-19 11:53:08
- 最近有一个项目,涉及到文档操作,有一个固定的模版,模版中有文字和表格,表格会在新的文档中使用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);
}
}
代码没有多少变化,也是辛勤汗水的浇注,希望能帮到大家
最新文章
- OC第六节—— 继承与类别
- Django1.9开发博客(10)- 全文搜索
- Factory_Method
- DataTable转换为Model实体对象
- C#调用Geocoding API进行地理编码与逆编码
- vmware克隆centos6.5 导致 system eth0 不可用解决办法
- CentOS 6.5 伪分布式 安装 hadoop 2.6.0
- 为自己的Android应用添加广告
- 用Redis作为Mysql数据库的缓存
- 深入理解C#的装箱和拆箱(转)
- 安装Pangolin
- 软件工程(五)UML
- 重签名提示:无法对 jar 进行签名: java.util.zip.ZipException
- 寻找数组中第K大的数
- php原样输出被编译过的html(适用于一些保存编辑器的内容)
- ArcGIS紧凑型切片读取与应用3-紧凑型批量转分散型(附源码)
- 【codeforces】【比赛题解】#851 CF Round #432 (Div.2)
- 连续的if语句
- 【JavaScript】时间戳转日期格式
- Shell 命令行实现将一个站点页面全部下载到本地并替换其中链接的脚本