代码:
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=dp.xls");
String pathString = request.getSession().getServletContext().getRealPath("\\")+ "template\\dataproccesslist.xls";
WorkbookSettings settings = new WorkbookSettings ();
settings.setWriteAccess(null);
Workbook wb;
try{
wb = Workbook.getWorkbook(new File(pathString));
WritableWorkbook wwb = Workbook.createWorkbook(response.getOutputStream(), wb,settings);
WritableSheet wws0 = wwb.getSheet(0);
Sheet sheet = wb.getSheet(0);
以下略
然后呢,因为EXCEL文件里有复杂的公式会算出某个值来,我想把这个值取出来怎么做?如何把response里的留放入Workbook.getWorkbook中再读取出来
我试过 Workbook.createWorkbook(new File('e:\test.xls'), new File('e:\source.xls'),settings);再Workbook.getWorkbook(new File('e:\test.xls'));读写本地文件的方法,但是报错:
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at jxl.biff.StringHelper.getUnicodeString(StringHelper.java:189)
at jxl.read.biff.WriteAccessRecord.<init>(WriteAccessRecord.java:50)
at jxl.read.biff.WorkbookParser.parse(WorkbookParser.java:820)
at jxl.Workbook.getWorkbook(Workbook.java:237)
at jxl.Workbook.getWorkbook(Workbook.java:198)
at com.genomics.ib.sop.control.SopUtil.getDpCost(SopUtil.java:185)
at com.genomics.ib.sop.control.SopUtil.main(SopUtil.java:220)