Excel读取-读取时修改多列值-Java,逻辑

Excel读取-读取时修改多列值-Java,逻辑,java,logic,Java,Logic,我是一个特殊的问题,我必须处理电子表格(xls,csv)中给出的数据。我将在java程序中使用这些数据 电子表格数据是在别处生成的,我无法控制它。在其中,有一些列具有系统特有的格式,我应该可以选择“以编程方式”了解如何将每个列转换为我需要的格式 在我的项目中,一个简单的方法就是 a) read the spreadsheet and apply transformations in place while reading. b) read each row as a java obje

我是一个特殊的问题,我必须处理电子表格(xls,csv)中给出的数据。我将在java程序中使用这些数据

电子表格数据是在别处生成的,我无法控制它。在其中,有一些列具有系统特有的格式,我应该可以选择“以编程方式”了解如何将每个列转换为我需要的格式

在我的项目中,一个简单的方法就是

 a) read the spreadsheet and apply transformations in place while reading.   
 b) read each row as a java object and iterate over this list and do the modifications
 c) use some in-memory DB like H2 and apply some **user-defined functions** (dont know how) either while reading into the memory or transforming it later.
在这个时候,我真的没有详细考虑所有3个选项。所以请原谅我的含糊不清


还有其他选择吗?更重要的是,因为我可以有数千条记录,其中可能需要转换超过5列,最快的方法是什么?

首先,您可以检查文件是excel还是电子表格。 如果它是excel,您可以使用ApachePOI,那么解析excel文件非常有用。在这种情况下,您可以在读取时应用转换

电子表格以逗号分隔,因此您可以使用拆分函数并对其进行解析。在这种情况下,您不能在读取时应用转换,而是在数组中进行收集并执行相同的操作

性能取决于您如何优化代码。您可以使用Java8流来流线化并有效地利用代码