qq_37916181 2019-09-02 15:25 采纳率: 0%
浏览 299

excel多文件压缩导出问题 导出多个不认识文件

图片说明

excel多文件压缩导出问题 目前只导出了一个 但打开压缩包是这些东西 这是什么原因

public void exportTransactionExcel(HttpServletResponse res,Long id)throws Exception{
        OutputStream out = res.getOutputStream();
        ZipOutputStream zipOutputStream = new ZipOutputStream(out);
        try {
            res.setContentType("application/octet-stream; charset=utf-8");
            res.setHeader("Content-Disposition", "attachment; filename=" + Encodes.urlEncode("xxx.zip"));
            List<List<String>> data = new ArrayList<List<String>>();
            ExportExcelUtils eeu = new ExportExcelUtils();
            File file=new File("C:/Users/MXG/Desktop/xxx.xlsx");
            FileInputStream fis=new FileInputStream(file);
            //Workbook workbook = new XSSFWorkbook(OPCPackage.open(fis));
            XLSTransformer transformer = new XLSTransformer();
            Map<Object, Object> beans=new HashMap<>();
           // Workbook workbook = transformer.transformXLS(new FileInputStream(file), beans);
            Query  query =em.createQuery("From Transaction where 1=1"+((id!=null&&id>0)?" and id="+id:"") );
            List<Transaction> transactionList =query.getResultList();
            int j=0;
            for (Transaction transaction : transactionList) {
                Workbook workbook = new XSSFWorkbook(OPCPackage.open(fis));
                 // HSSFSheet mySheet = workbook.createSheet();
                  Sheet mySheet = workbook.getSheetAt(0);
                  //创建第一行,标题行
                  int rowNomber=-1;
                  Row row= mySheet.getRow(2);
                  Cell cell=row.getCell(3);
                  cell.setCellValue("123456");

                //重点开始,创建压缩文件
                ZipEntry z = new ZipEntry(transaction.getServiceName()+j+++ ".xlsx");
                zipOutputStream.putNextEntry(z);
              //写入一个压缩文件
                workbook.write(zipOutputStream);
            }
            zipOutputStream.flush();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            //注意关闭顺序,否则可能文件错误
            if (zipOutputStream != null) {
                zipOutputStream.close();
            }
            if (out != null) {
                out.close();
            }
        }
    }
  • 写回答

1条回答 默认 最新

  • 呓语的风 2019-09-02 15:28
    关注

    excel本来就是一个压缩文件

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败