Error Message after creating XLSX file using java

泄露秘密 提交于 2019-12-04 05:11:09

问题


I am using apache poi to create a simple xlsx file using java as follows

    String date = "2014/12/29";
    XSSFWorkbook  w = ADPFidessa.createExcelWorkbook(date);
    response.reset();
    response.setContentType("application/xlsx");
    response.setHeader("Content-Disposition", "attachment;filename=ADP_Fidessa.xlsx");
    w.write(response.getOutputStream());

and here is the createExcelWorkbook method

public static XSSFWorkbook createExcelWorkbook(String sBsnsDt) throws Exception
   {
    // create a new file
    FileOutputStream out = new FileOutputStream("workbook.xlsx");

    // create a new workbook
    XSSFWorkbook wb = new XSSFWorkbook();
    // create a new sheet
    XSSFSheet s = wb.createSheet("Sheet1");

    // declare a row object reference
    XSSFRow r;
    // declare a cell object reference
    XSSFCell c;

    ArrayList<ADPFidessa> aDADPFidessalist=null;
    ADPFidessaDAO adpfiddao = new ADPFidessaDAO();
    aDADPFidessalist=adpfiddao.showADPFid(sBsnsDt);      

    int rownum;
    // header row and columns
    r = s.createRow(0);

    c = r.createCell(0);
    c.setCellValue("Business Date");

    c = r.createCell(1);
    c.setCellValue("ID");

    c = r.createCell(2);
    c.setCellValue("Ant");

    c = r.createCell(3);
    c.setCellValue("Sol");

    c = r.createCell(4);
    c.setCellValue("itions");

    c = r.createCell(5);
    c.setCellValue(sition");

    c = r.createCell(6);
    c.setCellValue("ffere");

    c = r.createCell(7);
    c.setCellValue("Age");

    rownum = 1;
    for (ADPFidessa di : aDADPFidessalist)
    {

     r = s.createRow(rownum);
     c = r.createCell(0);
     c.setCellValue(di.getBusinessDate());

     c = r.createCell(1);
     c.setCellValue(di.getkId());

     c = r.createCell(2);
     c.setCellValue(di.getAnt());

     c = r.createCell(3);
     c.setCellValue(di.getSol());

     c = r.createCell(4);
     c.setCellValue(di.getition());


     c = r.createCell(5);
     c.setCellValue(di.getsition());

     c = r.createCell(6);
     c.setCellValue(di.getffere());
     c = r.createCell(7);
     c.setCellValue(di.getAge());


     rownum++;
    } 

    try {
        wb.write(out);
        out.close();
    } catch (Exception e) {
        System.out.println("Error");
        System.out.println(e);
    }
    return wb;
   }

the method showADPFid(sBsnsDt); returns the correct values and the output file is correctly saved. Here is the problem. When i try to open the file in MS Excel, it shows an error message

now, after clicking 'Yes', the excel file opens and all the data is there as expected. However, another dialogue box appears

the log file shows

can anyone please give any idea about this error ? How to resolve this ?

thanks

EDIT: also, here are my imports

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.util.*;

来源:https://stackoverflow.com/questions/27711270/error-message-after-creating-xlsx-file-using-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!