无法打开excel文件。 抛出“不可读格式”错误

我其实是试图复制一个String[]到Excel中。 代码是这样的。

  int ExRows = 2, ExCols = 2; XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet xs = wb.createSheet("Sheet"); try { String[] inputArr = {"Gender", "Age", "Male", "45"}; int val =0; for(int i =0;i<ExRows;i++){ XSSFRow row = xs.createRow(i); for(int j=0;j<ExCols;j++){ FileOutputStream DestFile = new FileOutputStream("H:\\Docs\\DestExcelRecord\\DestMedicalRecord.xls"); String str = inputArr[val]; row.createCell(j).setCellValue(str); wb.write(DestFile); val= val+1; DestFile.close(); } } } 

当我尝试打开文件,这是我得到的第一个错误,当我点击是,我得到第二个错误

这是我得到的第二个错误

我在哪里丢失?

您的代码适用于POI 3.11和MS Office 2013.尽pipe它与您的警告相同。 但是使用SXSSFWorkbook会使它更容易。 org.apache.poi poi 3.11 org.apache.poi poi-ooxml 3.11 在这里输入图像说明

首先,一些问题得到解决。 (我不想编辑你的问题)

你用PIO API的方式吗? 你好Word应用程序的工作?

 int exRows = 2, exCols = 2; XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet xs = wb.createSheet("Sheet"); String input; FileOutputStream destFile; // declare out of try try { destFile = new FileOutputStream("H:\\Docs\\DestExcelRecord\\DestMedicalRecord.xlsx"); String[] inputArr = {"Gender", "Age", "Male", "45"}; int val =0; for(int i =0;i<exRows;i++){ XSSFRow row = xs.createRow(i); for(int j=0;j<exCols;j++){ String str = inputArr[i]; row.createCell(j).setCellValue(str); val +=val; // is it val += 1;? } } wb.write(destFile); } finally { destFile.close(); // close in finally }