Excel工作表未在服务器端打开,但它在本地打开

时间:2017-09-04 13:25:59

标签: java excel

enter image description here String filepath =“”;

try {
    //String filename=file_name.replace('/','_');
    HSSFWorkbook workbook = new HSSFWorkbook();
    HSSFSheet sheet = workbook.createSheet(file_name);
    HSSFRow rowhead = sheet.createRow((short) 0);
    filepath=prop.getProperty("file_store_path")+file_name+timeStamp+".xls";

    FileOutputStream fileOut = new FileOutputStream(filepath);
    /*   rowhead.createCell((short) 1).setCellValue("Domain ID");*/
    rowhead.createCell((short) 0).setCellValue("Person ID");
    rowhead.createCell((short) 1).setCellValue("Domain ID");
    rowhead.createCell((short) 2).setCellValue("First Name");
    rowhead.createCell((short) 3).setCellValue("Last Name");
    rowhead.createCell((short) 4).setCellValue("Email Address");
    rowhead.createCell((short) 5).setCellValue("SBU");

    int i = 1;

    while (rs.next()){
        HSSFRow row = sheet.createRow((short) i);

        /* row.createCell((short) 0).setCellValue(rs.getString("domain_id"));*/
        row.createCell((short) 0).setCellValue(rs.getString("person_id"));
        row.createCell((short) 1).setCellValue(rs.getString("domain_id"));
        row.createCell((short) 2).setCellValue(rs.getString("first_name") );
        row.createCell((short) 3).setCellValue(rs.getString("last_name"));
        row.createCell((short) 4).setCellValue(rs.getString("email_address"));
        row.createCell((short) 5).setCellValue(rs.getString("business_unit"));

        i++;
    }

    workbook.write(fileOut);
    fileOut.close();
    System.out.println("XLS done!!"); 
}

我在服务器端导出Excel工作表时出现问题。工作表在本地工作正常,但在服务器中部署时无法正常工作。我在这里使用XSSF格式(我也使用过HSSF但是遇到了不同的问题)。我在这里附上了错误信息。

我该如何解决这个问题?

我得到的错误是

   java.lang.IndexOutOfBoundsException
        at java.io.FileInputStream.readBytes(Native Method)
        at java.io.FileInputStream.read(Unknown Source)
        at com.controllers.ActiveUserReport.getDownloaded(ActiveUserReport.java:308)
        at com.controllers.ActiveUserReport.doGet(ActiveUserReport.java:113)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

0 个答案:

没有答案