从java结果集重写excel(.xlsm)文件时,45k记录后性能下降
此代码适用于35k以下的记录,并在工作表上写入数据,但如果记录存在,则45k性能会降低,并且不会出现任何异常或错误, 并且不创建任何文件 我如何克服这个问题从java结果集重写excel(.xlsm)文件时,45k记录后性能下降,java,sql-server,apache-poi,resultset,xlsm,Java,Sql Server,Apache Poi,Resultset,Xlsm,此代码适用于35k以下的记录,并在工作表上写入数据,但如果记录存在,则45k性能会降低,并且不会出现任何异常或错误, 并且不创建任何文件 我如何克服这个问题 public void dbConnect(String driver_connect_string, String db_connect_string, String db_userid, String db_password){ try{ //database connectivity St
public void dbConnect(String driver_connect_string, String db_connect_string, String db_userid, String db_password){
try{
//database connectivity
Statement statement = conn.createStatement();
String queryString = propq.getProperty("Query");
ResultSet rs = statement.executeQuery(queryString);
OPCPackage pkg = OPCPackage.open(new File(("sourceFile")));
XSSFWorkbook wb_template;
wb_template = new XSSFWorkbook(pkg);
System.out.println("package loaded");
Sheet sheet = wb_template.getSheetAt(0);
Row row = null;
int index = 1;
while (rs.next()) {
try{
row = sheet.createRow(index);
row.createCell(0).setCellValue(rs.getString(1));
row.createCell(1).setCellValue(rs.getString(2));
row.createCell(2).setCellValue(rs.getString(3));
.
.
row.createCell(23).setCellValue(rs.getString(25));
System.out.println(index);
}
catch(Exception e){
System.out.println(e);
}
index++;
}
FileOutputStream out = new FileOutputStream(new File(("destFile")));
wb_template.write(out);
out.flush();
out.close();
}catch(Exception e){
e.printStackTrace();
}
}
查看此答案此处代码中的问题是什么,您的评论地址中的答案是什么?