@SuppressWarnings("deprecation")
@Override
public InputStream exportItemProjectExcel(List ITEM_PROJECT_ID_LIST) throws Exception {
FileInputStream inputStream = new FileInputStream(new File(this.getClass().getResource("/../../resource/分项工程.xlsx").getFile()));
Workbook workbook = WorkbookFactory.create(inputStream);
Sheet sheet = workbook.getSheetAt(0);// 读取第-页
Row row;
for (int i = 0; i < ITEM_PROJECT_ID_LIST.size(); i++) {
row = sheet.createRow(i);
row.createCell(0).setCellValue((String) ITEM_PROJECT_ID_LIST.get(i));
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
workbook.write(baos);// 临时存储流到内存
baos.flush();
ByteArrayInputStream workbookInput = new ByteArrayInputStream(baos.toByteArray());
// 创建POIFS文件系统 加密文件
POIFSFileSystem fs = new POIFSFileSystem();
EncryptionInfo info = new EncryptionInfo(fs, EncryptionMode.agile);
Encryptor enc = info.getEncryptor();
enc.confirmPassword("itemProject");
// 然后把字节输入到输入流,然后输入到OPC包里面
OPCPackage opc = OPCPackage.open(workbookInput);
OutputStream os = enc.getDataStream(fs);
opc.save(os);
opc.close();
baos = new ByteArrayOutputStream();
fs.writeFilesystem(baos);
baos.flush();
inputStream.close();
workbook.close();
baos.close();
return new ByteArrayInputStream(baos.toByteArray());
}