我下面有一段包含循环的代码块:
Row row = null;
Cell cell = null;
String dataVal = null;
String[] temp = null;
for (int j = 0; j < this.myDataValues.size(); j++) {
row = sheet.createRow(rownum++);
temp = this.finalRowValues.get(j);
for (int i = 0; i < 4; i++) {
cell = row.createCell(i);
dataVal = temp[i];
if (NumberUtils.isNumber(dataVal)) {
double d = Double.valueOf(dataVal);
cell.setCellValue(d);
cell.setCellType(Cell.CELL_TYPE_NUMERIC);
cell.setCellStyle(styles.get("currency"));
} else if (isValidDate(dataVal)) {
cell.setCellValue(dataVal);
cell.setCellType(Cell.CELL_TYPE_NUMERIC);
cell.setCellStyle(styles.get("date"));
} else {
cell.setCellValue(temp[i]);
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellStyle(styles.get("data"));
}
sheet.autoSizeColumn(i);
}
}
其中每个对象包含4个值myDataValues
的List
of 是。String[]``String[]
我正在Rational Application Developer版本8和Apache POI 3.8中运行它。
myDataValues
我认为大约有5500个元素的价值很小。
但是,此代码块需要花费一个多小时才能运行。
我认为这有问题。5500个元素(每个元素包含4个元素)应该运行得很快,并且应该是几分钟的问题。可能是什么原因?有没有办法使此块运行更快?
机器的可用内存或其他任何此类问题都没有错。一切都按预期进行,我已经验证了。问题仅在此块中。
您的处理非常缓慢,因为您要调用autoSizeColumn
每一行。从Javadocs中获取autoSizeColumn
方法:
在大张纸上,此过程可能相对较慢,因此,通常在处理结束时,每列仅应调用一次。
将调用autoSizeColumn
放在创建行的for
循环之外,仅在列上自己的循环中。这将最大程度地减少对此方法的调用并提高您的性能。
我正面临一个问题,比如我使用apache POI生成pptx powerpoint演示文稿,所以生成的ppt可以用libra office打开,但当我试图在ms powerpoint中打开时,它产生了一些问题,比如我在演示文稿中插入的图像无法显示。我将json数组中的字节编码字符串传递给我的服务。有人能帮我吗?有什么问题吗?谢谢
我已经为我的项目创建了一个oauth模块。它具有授权服务器机制、Spring Security机制和资源服务器机制。 我需要某些endpoint只有通过授权才能访问,因此我在资源服务器中配置了安全性: 在不同于OAuth的模块中进行是否可取?如果是,我如何保护呼叫并验证令牌?如何在另一个模块中使用资源服务器。
运行相关 bin/mn 主运行文件,安装后执行 mn 即调用的本程序,是 Python 程序。 mnexec.c 执行一些快速命令,比如关闭文件描述符等,是 C 程序,编译后生成二进制文件 mnexec 被 Python 库调用。
考虑以下一段代码,它生成数组[1,2,3,...,n]的大小为k的所有子集: 例如,将生成[1,2,3,4]的长度为2的所有子集。代码中有两行生成一个删除了最后一个元素的列表。我尝试用来实现,并通过切掉最后一个元素(即)来创建一个全新的列表。带有的版本会生成正确的结果。但是,带有的版本没有。没有运行时错误;只是一个逻辑错误(即不正确的结果)。 我怀疑这与在进行切片时创建新列表和使用保持相同列表有关
问题内容: 当我尝试运行以下代码时,出现与错误有关的信息。 我对此 并不陌生, 但是 我可以看到代码到达了第11行,但随后失败了 。 线程“主”中的异常java.lang.IllegalStateException:驱动程序可执行文件不存在:org上位于com.google.common.base.Preconditions.checkState(Preconditions.java:199)的C
问题内容: 我有下面的代码。我只想检查代码块的运行时间。错误地,我再次复制并粘贴了相同的代码,并得到了有趣的结果。尽管代码块相同,但运行时间不同。而且 比其他人花费更多的时间。如果我切换代码块,则代码块4将比其他代码花费更多时间。 我在代码块中使用了两种不同类型的数组来检查它是否依赖于此。结果是一样的。如果代码块具有相同类型的数组,则最上面的代码块将花费更多时间。参见下面的代码和给出的输出。 运行