发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

求救:关于读取excel数据的问题

2005-09-23 18:14
赞助商链接

大侠们,

最近我接到这样一个项目,十分痛苦,不知道该怎么办。
我有一个现成的excel模版,里面有将近上千个计算公式。

需求是:
1)读取页面输入数据,根据模版,生成一个excel文件。
2)读取excel文件的计算结果,并写入数据库。

第一步,我下载了Jexcelapi,做出来了,可是我不知道应该怎样触发excel去运行那些公式并且计算出来结果,我的程序大概是类似这样的。

Workbook workbook = Workbook.getWorkbook(new File("E:\\temp\\Book1.xls"));
WritableWorkbook copy = Workbook.createWorkbook(new File("E:\\temp\\cathy.xls"), workbook);
WritableSheet sheet1 = copy.getSheet(0);
Number number = new Number(0, 0, 4);
sheet1.addCell(number);
Number number2 = new Number(0, 1, 3);
sheet1.addCell(number2);
copy.write();
copy.close();

//read
workbook = Workbook.getWorkbook(new File("E:\\temp\\cathy.xls"));
Sheet sheet = workbook.getSheet(0);
Cell a1 = sheet.getCell(0,0);
Cell a2 = sheet.getCell(0,1);
Cell a3 = sheet.getCell(0,2);
System.out.println("-------- a1 "+a1.getContents());
System.out.println("-------- a2 "+a2.getContents());
FormulaCell nfc = (FormulaCell) a3;
System.out.println("-------- a3 "+nfc.getContents());
System.out.println("-------- a3 formula: " + nfc.getFormula());

运行得出的结果是
-------- a1 4
-------- a2 3
-------- a3 0
-------- a3 formula: SUM(A1,A2)
实际上a3 应该等于 4+3 =7,但我得到的是0,想这个问题想到头昏,肯请高手指点!感激不尽。。。

2005-09-27 17:21

不难,死做就可以,做个字符串解释器,将公式读懂,然后运算即可。你已经成功一半,继续!

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系反馈 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com