这个有一个大问题,数据很多,按你这样想的话,一个个读再写时间会很长,然后excel的单元格还有格式遗漏的问题 你poi操作不一个个读?你好好想想逻辑。 读完之后你不写?而且poi写的话是以直接写文件。不是一行行写。你觉得呢?FileOutputStream os = new FileOutputStream("D:\\"+fileName); XSSFWorkbook wb = new XSSFWorkbook(); wb.write(os); os.close();
这个有一个大问题,数据很多,按你这样想的话,一个个读再写时间会很长,然后excel的单元格还有格式遗漏的问题 你poi操作不一个个读?你好好想想逻辑。 读完之后你不写?而且poi写的话是以直接写文件。不是一行行写。你觉得呢?FileOutputStream os = new FileOutputStream("D:\\"+fileName); XSSFWorkbook wb = new XSSFWorkbook(); wb.write(os); os.close(); 我也是这么写的,只是想要生成表格的时间快一点,所以还采用了多线程,但是hssfworkbook 不能多线程操作,单线程数据量的就要花很多时间,才想着先用多线程生成单张表,看能不能有什么快点的方法合并
因为不同的文件列数不同,合并方案怎么样的,还要考虑列数超长的问题。
这个问题都找两天了,还没解决各位帮帮忙
你poi操作不一个个读?你好好想想逻辑。
读完之后你不写?而且poi写的话是以直接写文件。不是一行行写。你觉得呢?FileOutputStream os = new FileOutputStream("D:\\"+fileName);
XSSFWorkbook wb = new XSSFWorkbook();
wb.write(os);
os.close();
你poi操作不一个个读?你好好想想逻辑。
读完之后你不写?而且poi写的话是以直接写文件。不是一行行写。你觉得呢?FileOutputStream os = new FileOutputStream("D:\\"+fileName);
XSSFWorkbook wb = new XSSFWorkbook();
wb.write(os);
os.close();
我也是这么写的,只是想要生成表格的时间快一点,所以还采用了多线程,但是hssfworkbook 不能多线程操作,单线程数据量的就要花很多时间,才想着先用多线程生成单张表,看能不能有什么快点的方法合并