Aspose.Cells C++比JAVA慢

请问下 Aspose.Cells 的C++版是不是比JAVA版慢? 我们测试了一下,打开相同EXCEL文件,C++比JAVA慢很多,慢两倍多, Linux和Windows都做过相同的对比测试

目前我们公司正在选型,再看应该选哪个版本,所以还请官方能有一个回复,C++版是不是就是比JAVA版的慢?谢谢

@rock5rock,

在某些情况下,C++ 版本比 Java 版本快,但在其他一些情况下,它比 Java 慢。 您可以将文件发送给我们,如果您愿意,我们可以为您检查。 但是,C++ 版本的功能较少,例如加密/解密、打印
并且不支持某些文件格式。 请检查:Supported File Formats|Documentation
Supported File Formats|Documentation
总之,如果你想使用更多的功能,请选择Java版本。

感谢您的理解

[In some cases C++ version is faster than java version but in some other cases it is slower than java.
You can send the files to us and we can check it for you if you like.
Howerver,the C++ version has fewer features,such as encryption/decryption,printing
and some file formats are not supported
please check Supported File Formats|Documentation
and Supported File Formats|Documentation
so if you want to use more features please choose the java version. Thanks!]

@xinyazhu
你好,我把我们测试用的样例文件发给您,麻烦您帮我们验证一下,我们在linux Debian上做的验证,C++要17s JAVA只要不到3-4s, WINDOWS上 C++也要9s左右, JAVA只要3-4s

bus1.7z (3.0 MB)

@rock5rock
我们将尽快为您检查,谢谢!

@rock5rock
请问你们Aspose.Cells for C++ 和 Aspose.Cells for JAVA 分别用的什么版本?谢谢!

我们在官网直接下载的版本,C++是 Aspose.Cells_for_C++_21.11.0, JAVA 是aspose-cells 21.10
@xinyazhu

@rock5rock
我们研究了您的文件后认为,由于我们程序内部实现的原因,尤其对类似含大量公式计算的情形,C++版本确实会比JAVA版本慢。所以,如果您的应用包含大量公式计算建议您选用JAVA版本。

好的,十分感谢!JAVA版打开的速度有没有办法再提升呢?比如延迟加载公式,或者不加载样式之类的,我们的使用场景是用EXCEL做计算,不需要样式和图表等,仅仅需要数据和公式

如果不需要加载某些数据,可以考虑使用LoadOptions.LoadFilter并设置适当的过滤选项(LoadDataFilterOptions)。例如,只需要cells数据时,可以试试使用new LoadFilter(LoadDataFilterOptions.CELL_VALUE|LoadDataFilterOptions.FORMULA)。

因为您需要计算公式,所以公式是必须被加载和解析的,否则在加载OOXML格式的文件如xlsx, xlsm等时,您还可以试试选项Loadoptions.ParsingFormulaOnOpen等。

好的,我们再测试下,谢谢!
@johnson.shi