Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在AWS Lambda上解析Excel文档_Java_Node.js_Excel_Apache Poi_Aws Lambda - Fatal编程技术网

Java 在AWS Lambda上解析Excel文档

Java 在AWS Lambda上解析Excel文档,java,node.js,excel,apache-poi,aws-lambda,Java,Node.js,Excel,Apache Poi,Aws Lambda,对于一个项目,我在Java应用程序中使用ApachePOI将Excel文档转换为JSON。将来,该任务将使用AWS Lambda完成,因为目前它可能需要很长时间(最多20秒),并且内存消耗很高 要求: 支持XLS和XLSX格式 计算公式(因此不可能进行流式处理?) 最多100.000行,但小于1MB 有了AWS Lamda,我现在可以使用Java、Python或NodeJs。 我的问题是:我的ApachePOI方法是可行的还是有更合适的框架?似乎是个很好的候选人。我找不到这类框架的最新性能比

对于一个项目,我在Java应用程序中使用ApachePOI将Excel文档转换为JSON。将来,该任务将使用AWS Lambda完成,因为目前它可能需要很长时间(最多20秒),并且内存消耗很高

要求:

  • 支持XLS和XLSX格式
  • 计算公式(因此不可能进行流式处理?)
  • 最多100.000行,但小于1MB
有了AWS Lamda,我现在可以使用Java、Python或NodeJs。
我的问题是:我的ApachePOI方法是可行的还是有更合适的框架?似乎是个很好的候选人。我找不到这类框架的最新性能比较。

试一试python中的pyexcel_xlsx库。我使用它将xlsx转换为json。甜蜜而简单。与其他python库相比,速度也更快

示例代码:

from pyexcel_xlsx import get_data;
import time;
import json;

data = get_data("RefinedProduct.xlsx")
sheetName = "Table 6b";

for i in range(0, len(data[sheetName])):
    for j in range(0, len(data[sheetName][i])):
        print("Row: " + str(i) + ", Column: " + str(j) + ", Value: "+ str(data[sheetName][i][j]));

你现在如何进行转换?只是听起来你做错了。。。。应该可以使用ApachePOI
for(int j=0;j
I迭代所有行和单元格并动态填充java bean。这是一种简单但内存较高的方法。如果你用这个来代替,会发生什么?(可能复制CSV示例)您是指XSSF事件API吗?我没有使用它,因为我觉得它是针对xlsx的,不支持xls,而且我需要公式求值。您需要为xls和xlsx编写不同的代码。请参见相应的CSV转换器以了解如何进行转换