이 글은 phpspreadsheet를 사용하여 대용량 엑셀 파일(코드 포함)을 자르는 방법을 소개합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
phpspreadsheet를 사용하면 Excel 파일을 쉽게 구문 분석할 수 있지만 phpspreadsheet의 메모리 소모도 비교적 큽니다. 순수 텍스트 Excel을 거의 5M로 구문 분석해 보니 메모리 사용량이 PHP의 기본 최대 메모리인 128M을 초과합니다. .
물론 메모리 크기를 조절하면 해결이 되지만, 동시성 양이 클수록 위험합니다. 그래서 오늘은 phpspreadsheet를 사용하여 엑셀 파일을 자르는 두 번째 방법을 소개하겠습니다. 이는 시간을 공간으로 교환하는 방법이므로 일반적으로 적시성이 낮은 요구 사항에 사용할 수 있습니다.
먼저 phpspreadsheet 공식 웹사이트에서 제공하는 readCell 함수를 넣으면 이 함수를 사용하여 자르기를 수행할 수 있습니다.
먼저 Excel 파일을 미리 읽어서 주로 모든 워크시트와 워크시트 아래의 데이터 행 수를 가져옵니다. 이 단계에서 readCell 메서드는 항상 false를 반환하므로 readCell에서 입력한 워크시트와 데이터 행만 기록하면 됩니다. .
그런 다음 얻은 기록을 분석하고 데이터의 각 부분에 원본 Excel 데이터의 행 수를 로드해야 하는지 결정해야 합니다. 내용 혼란을 피하기 위해 두 내용을 자르지 마십시오. 워크시트를 함께.
마지막 단계는 분석된 데이터를 반복하고 readCell을 다시 사용하여 데이터의 각 부분을 얻는 것입니다. 파일을 읽을 때마다 DisconnectWorksheets 메서드를 사용하여 phpspreadsheet의 메모리를 정리해야 합니다.
직접 테스트한 결과, 이 방법을 사용하여 5M Excel 파일을 구문 분석하는 데는 평균 21M의 메모리만 필요하다는 사실을 발견했습니다!
https://github.com/wangyelou/Tools/tree/master/CutExcel
추천 관련 글:
PHP를 사용하여 엑셀 파일의 내용을 읽고 셀 데이터를 얻는 방법
인증 코드 및 서버 측 인증 코드를 구현하는 PHP 단계
위 내용은 phpspreadsheet를 사용하여 대용량 Excel 파일을 자르는 방법(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!