java word临时文件夹_java多个word压缩zip,临时,待整理

临时,待整理

public byte[] createFAQDWord(String orgId, ArrayCollection oprIds, String begDate,

String endDate) throws Exception {

File file = File.createTempFile("createFAQDWord", "zip");

file.deleteOnExit();

//import org.apache.tools.zip.ZipOutputStream;

ZipOutputStream zout = new ZipOutputStream(new FileOutputStream(file));

zout.setEncoding("GBK");

BufferedOutputStream bos = new BufferedOutputStream(zout);

for (int j = 0; j < oprIds.size(); j++) {

String oprId = (String) oprIds.get(j);

List list = getFAQDList(orgId, oprId, begDate, endDate);

VDictSendFile vDictSendFile = super.getBean(BCommon.class).getDictSendFileByCode("BHFS", "FAQD");

// 将该模板转化为一个 CustomXWPFDocument对象

CustomXWPFDocument doc = new CustomXWPFDocument(vDictSendFile.getTemplate().getBinaryStream());

XWPFParagraph pFADate = doc.getParagraphs().get(1);

pFADate.setWordWrap(true);

pFADate.setAlignment(ParagraphAlignment.RIGHT);

XWPFRun rFADate = pFADate.createRun();

Map map = new HashMap();

map = this.getMaxAndMinDate(list);

rFADate.setText("分案日期" + map.get("max") + "至" + map.get("min"));

XWPFTable table = doc.getTables().get(0);

String oprName = "";

for (int i = 0; i < list.size(); i++) {

XWPFTableRow row = null;

VBcomWfPssq vBcomWfPssq = list.get(i);

AuthControl authControl = super.getBean(AuthControl.class);

VAcUser user = authControl.getUserInfoByUserId(vBcomWfPssq.getOprId());

oprName = user.getUserName();

row = table.insertNewTableRow(i + 1);

XWPFTableCell cell1 = row.createCell();

XWPFParagraph p1 = cell1.getParagraphs().get(0);

p1.setWordWrap(true);

p1.setAlignment(ParagraphAlignment.CENTER);

XWPFRun r1 = p1.createRun();

r1.setText(i + 1 + "");

XWPFTableCell cell2 = row.createCell();

XWPFParagraph p2 = cell2.getParagraphs().get(0);

p2.setWordWrap(true);

p2.setAlignment(ParagraphAlignment.CENTER);

XWPFRun r2 = p2.createRun();

r2.setText(vBcomWfPssq.getFlowTypeName() + vBcomWfPssq.getAppNum());

XWPFTableCell cell3 = row.createCell();

XWPFParagraph p3 = cell3.getParagraphs().get(0);

p3.setWordWrap(true);

p3.setAlignment(ParagraphAlignment.CENTER);

XWPFRun r3 = p3.createRun();

r3.setText(DateUtils.date2String(vBcomWfPssq.getAppDate(), "yyyy-MM-dd"));

XWPFTableCell cell4 = row.createCell();

XWPFParagraph p4 = cell4.getParagraphs().get(0);

p4.setWordWrap(true);

p4.setAlignment(ParagraphAlignment.CENTER);

XWPFRun r4 = p4.createRun();

r4.setText(vBcomWfPssq.getRegNum());

XWPFTableCell cell5 = row.createCell();

XWPFParagraph p5 = cell5.getParagraphs().get(0);

p5.setWordWrap(true);

p5.setAlignment(ParagraphAlignment.CENTER);

XWPFRun r5 = p5.createRun();

r5.setText(vBcomWfPssq.getIntlCls());

XWPFTableCell cell6 = row.createCell();

XWPFParagraph p6 = cell6.getParagraphs().get(0);

p6.setWordWrap(true);

p6.setAlignment(ParagraphAlignment.CENTER);

XWPFRun r6 = p6.createRun();

r6.setText(vBcomWfPssq.getTmName());

XWPFTableCell cell7 = row.createCell();

XWPFParagraph p7 = cell7.getParagraphs().get(0);

p7.setWordWrap(true);

p7.setAlignment(ParagraphAlignment.CENTER);

XWPFRun r7 = p7.createRun();

r7.setText(vBcomWfPssq.getAppCnName());

XWPFTableCell cell8 = row.createCell();

XWPFParagraph p8 = cell8.getParagraphs().get(0);

p8.setWordWrap(true);

p8.setAlignment(ParagraphAlignment.CENTER);

XWPFRun r8 = p8.createRun();

r8.setText(user.getUserName());

XWPFTableCell cell9 = row.createCell();

}

XWPFParagraph pCUser = doc.getParagraphs().get(2);

pCUser.setWordWrap(true);

pCUser.setAlignment(ParagraphAlignment.RIGHT);

XWPFRun rCUser = pCUser.createRun();

rCUser.setText(SessionUtils.getUserName());

XWPFParagraph pCDate = doc.getParagraphs().get(2);

pCDate.setWordWrap(true);

pCDate.setAlignment(ParagraphAlignment.RIGHT);

XWPFRun rCDate = pCDate.createRun();

rCDate.setText(DateUtils.date2String(new Date(), "yyyy-MM-dd"));

ByteArrayOutputStream out = new ByteArrayOutputStream();

doc.write(out);

zout.putNextEntry(new ZipEntry(oprName + ".docx"));

bos.write(out.toByteArray());

zout.closeEntry();

bos.flush();

out.close();

}

bos.close();

// zout.close();不可显示关闭,会报错

FileInputStream fi = new FileInputStream(file);

BufferedInputStream bis = new BufferedInputStream(fi);

ByteArrayOutputStream bout = new ByteArrayOutputStream();

byte[] bytes = new byte[1024 * 1024 * 10];// 缓冲字节数 8K

int read;

while ((read = bis.read(bytes)) > 0) {

bout.write(bytes, 0, read);

}

bout.close();

bis.close();

fi.close();

return bout.toByteArray();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值