我们有一个excel文件,它使用了大量内置formulas
,vlookups
,Macros
等等。我们需要将此excel转换为基于Web的解决方案。
我们可以使用Apache POI
吗?
当我们浏览文档时,我们看到它每次都读取excel,然后评估公式。但对于多个
如果用户访问应用程序,我们不确定每次阅读excel和评估公式是否合适。我们可以将所有excel公式转换为a中的方法吗?
Java代码并从那里调用它?这可以从Apache POI
完成吗?
答案 0 :(得分:2)
我在使用VBA进行Excel / Access集成以及Java Hibernate中的一些工作时做了很多工作,因为在将记录插入数据库之前,在客户端进行预处理的记录数非常高。
我遇到过很多像这样的案例,其中数据被几千行代码操纵,而其他几个公式由其他公式驱动查询等等。问题听起来似乎超出了Apache POI的范围。 POI用于从或多或少的静态文件中提取数据,因为您的数据听起来像我自己的许多工作一样更具动态性。我担心网络解决方案需要重新设计,我想不出一个简单的解决方案。
尝试重新检查您使用的数据,并查看您可以在服务器端处理多少数据并将结果存储到每日表中以保持其性能。减少记录数量以尽可能地约束记录集,并简化用户可能尝试在Web表单上启动的查询。也许你在excel中做的工作比你需要的要多,任何减少查询工作量的方法都会更好。
后端预处理有助于为我保持快速和简单,只需确保它全部自动化且记录完备。不希望有一些管理员出现并想知道为什么每天晚上都有一些任务正在运行,并认为这样做并不重要,那么让你的前端运行旧的坏数据。
对不起,希望有助于给你一些想法。在这种情况下,POI对我来说似乎不是一个好的解决方案。 Excel文档有一种过于复杂的方式,请查看在源代码中进行深入分析的方法。您可能正在完成一半的工作,只是格式化数据以便处理它。某些SQL语句或存储的表达式可能会在很短的时间内解决它。批评所有excel公式!