- 最近有一个项目,涉及到文档操作,有一个固定的模版,模版中有文字和表格,表格会在新的文档中使用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[0]; //插入多个 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(0).GetCell(0).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=0;i<10;i++){ stream = new FileStream("**.docx",FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
docTemp = new XWPFDocument(stream);
stream.Close();//一定一定要记住关闭后再打开
table=docTemp.Tables[0]; table.GetRow(0).GetCell(0).SetText(""); //对表格不停的操作…… int ct=doc.Tables.Count; doc.CreateTable(); doc.SetTable(ct, table); } }
代码没有多少变化,也是辛勤汗水的浇注,希望能帮到大家