>  기사  >  백엔드 개발  >  phpspreadsheet를 사용하여 대용량 Excel 파일을 자르는 방법(코드 포함)

phpspreadsheet를 사용하여 대용량 Excel 파일을 자르는 방법(코드 포함)

不言
不言원래의
2018-08-06 10:19:043222검색

이 글은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Swoole의 건축 분석다음 기사:Swoole의 건축 분석