使用java如何修改EXCEL后读取修改后文件的数据

代码:
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)

第1个回答  2013-07-18
也不是太清楚,给你个参考思路

java poi 是可以读取相关公式计算后的值的,不过也是要求操作后要保存才可以,
(excel公式其实是你打开后才计算的值)
详细的你可以再百度下 java poi 读取公式值。本回答被提问者采纳
相似回答