如何在使用兴趣点的Excel中获得列的最大长度

我正在研究一个涉及使用Apache POI读取excel数据的项目。 我有一个情况,我必须找出列的最大长度。

例如
一张纸有3行r1,r2,r3和2列c1和c2,全部包含string数据。 现在说r1c1的string大小是5,r2c1是6,r3c1是7。

Apache POI中是否有可用的方法

foo(c1)将返回7。

目前我正在使用foo循环遍历列中的所有单元格并计算最大大小,但是由于excel文件很大,所以它的性能很高。

我经历了文档,但找不到一个。 只有循环才能做到这一点?

为什么我要这个

我必须编写一个应用程序可以在数据库中上传excel的function。 应该立即创buildDDL语句并生成ddl语句,我需要知道列的最大长度。 我知道我正在尝试重新发明轮子,因为像MySQL这样的db已经有了这个插件,但是在这里,我不想使用它,因为我想把所有东西放在一个地方。 我浏览了插件的源代码,但在项目中复制太复杂了。

也许你可以使用getColumnWidth解决它:如果你的列中的最大长度总是和列的宽度匹配的(除了左边和右边没有无用的空间),你可能只能用“猜”的最大长度列宽和除以长度1个字符应该有(如果他们都有相同的长度)。 但即使可能,您也可能需要考虑边距+计算中两个字符之间的微小空间。

用一个通用而简单的例子:如果你的列是10个单位,而你知道一个字符的长度是1个单位,那么你知道最大的string有10个字符。

这是非常非常理论化的,因为我现在不能编写任何代码,但除了已经完成的工作以外,这是唯一可以想象的解决scheme。