我正在尝试使用Apache POI生成Excel文件.我需要生成120k行和7列数据.我可以轻松生成25 000行的excel文件,但问题是我无法生成100k行的excel文件.在运行时,代码执行变慢.
为了生成excel文件,系统必须通过for循环(100k行和9列)迭代900k次.
最初在excel对象中添加24行大约需要1秒钟,然后逐渐降低执行速度.
添加70k行后,需要24..30秒才能添加一行.为什么会这样?
List<String[]> keyList = keyService.findAllKeyByBatchCode(batchCode);
int x = 1;
if(keyList != null && keyList.size() != 0) {
Date activated_Date = null;
for (int i = 0; i<keyList.size(); i++) {
Object[] keyUser = keyList.get(i);
data.put(x, new Object[] {
String.valueOf(x),
keyForDetails.getLicenceType().getName(),
batchCode,
keyForDetails.getKeyType(),
keyUser[0],
"",
DateUtility.convertUtilDatetoString(keyForDetails.getDate()),
String.valueOf(keyForDetails.getPrice()),
keyUser[1]
});
x++;
}
}
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Key sheet");
Set<Integer> keyset = data.keySet();
int rownum = 0;
System.out.println("-------------printin------");
try {
for (Integer …Run Code Online (Sandbox Code Playgroud) 我正在使用MySQL开发nodejs 。在将数据插入到多个表中时,我需要实现事务管理。这样,如果发生任何错误,我就可以回滚所有插入。
所有与DB相关的操作都在DB层中每个实体的不同类中声明。在单个操作上的业务逻辑层中,我们可能需要处理来自不同实体的多个数据库层调用。在JAVA Spring中,我们可以在服务层上简单地注释 @Transaction。
nodejs中有类似的东西吗?
apache-poi ×1
excel ×1
express ×1
hibernate ×1
java ×1
mysql ×1
node.js ×1
sequelize.js ×1
spring-mvc ×1