使用java创buildXLSX文件后的错误消息

我正在使用apache poi来创build一个简单的xlsx文件,如下所示

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()); 

这里是createExcelWorkbook方法

 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; } 

方法showADPFid(sBsnsDt); 返回正确的值,并正确保存输出文件。 这是问题。 当我尝试在MS Excel中打开文件时,它显示一条错误消息

在这里输入图像说明

现在,点击“是”后,excel文件打开,所有的数据都按预期的那样出现。 但是,另一个对话框出现

在这里输入图像说明

日志文件显示

在这里输入图像说明

任何人都可以请给任何关于这个错误的想法? 如何解决这个问题?

谢谢

编辑:也,这里是我的import

 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.*;