Split large Excel/Csv file to multiple files on PHP or Javascript

前端 未结 3 1310
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-30 11:25

I have excel(file.xls)/csv(file.csv) file that contains/will contain hundreds of thousands of entry, even millions I guess. Is it possible to split this one to multiple file

3条回答
  •  半阙折子戏
    2020-12-30 12:07

    Yes it is possible to do that in PHP and with CSV files. You basically iterate over the large file and chunk each X rows, forwarding those rows to another file.

    You find the information how to open the large CSV file as an iterator in this answer here:

    • Answer to "how to extract data from csv file in php"

    Then you need to chunk the iterator each X rows parts. That can be done as outline here:

    • Answer to "Need some advice with PHP loop"

    Just instead of outputting into multiple

      ...
    HTML lists, you copy over into a new files. That basically works like outlined in:

    • Answer to "How can I split a CSV file in PHP?"

    However this time you want to use the SplFileObject::fputcsv method. Take care you use the latest stable PHP for this, otherwise you need do different, see fputcsv().

    If the first line of the original file contains column-headers, you might be as well interested in the following:

    • Answer to "Process CSV Into Array With Column Headings For Key"

    It just shows some ways to extend / process the incomming file. You might not need the full abstraction done there, just keeping the first line around might do it already.

提交回复
热议问题