现需要将多个excel文件合并到一个excel文件中,每个excel就是最后那个excel的一个sheet,另外,每个excel的数据有点多,最大文件大小有2480kb,急需解答,感谢

解决方案 »

  1.   

    你得考虑合并到一个sheet,有行数限制。不同版本 的excel  sheet 最大行数不一样
      

  2.   

    你可以试着把每个excel读取,然后写一个excel。取列数最多的。然后后面的写入就追加上面一行。
    因为不同的文件列数不同,合并方案怎么样的,还要考虑列数超长的问题。
      

  3.   

    我这里是每个小的excel成为新的我相册看中的一个sheet,而且数据的大小也不一样
      

  4.   

    excel,打错字了
    这个问题都找两天了,还没解决各位帮帮忙
      

  5.   

    这个有一个大问题,数据很多,按你这样想的话,一个个读再写时间会很长,然后excel的单元格还有格式遗漏的问题
      

  6.   

    这个有一个大问题,数据很多,按你这样想的话,一个个读再写时间会很长,然后excel的单元格还有格式遗漏的问题
    你poi操作不一个个读?你好好想想逻辑。
    读完之后你不写?而且poi写的话是以直接写文件。不是一行行写。你觉得呢?FileOutputStream os = new FileOutputStream("D:\\"+fileName);
    XSSFWorkbook wb = new XSSFWorkbook();
    wb.write(os);
    os.close();
      

  7.   

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