PHPExcel1.7.3c를 사용하여 17MB Excel 파일 (2003)을 읽으려고합니다. 그러나 파일을로드하는 동안 이미 120 초 제한을 초과 한 후 파일이 손상됩니다. 보다 효율적으로 할 수있는 다른 라이브러리가 있습니까? 스타일을 지정할 필요가 없습니다. UTF8을 지원하기 만하면됩니다. 당신의 도움에 감사드립니다PHP로 큰 Excel 파일 읽기
답변
PHPExcel을 사용할 때 Filesize는 좋은 측정 방법이 아니므로 각 워크 시트의 셀 수 (rowsxcolumns)를 파악하는 것이 더 중요합니다. 당신은 스타일에 대한 필요가없는 경우
, 당신은 요구하고있다 :
$objReader->setReadDataOnly(true);
파일을로드하기 전에? 워크 시트 내의 모든 워크 시트, 또는 특정 세포에 액세스 할 필요가없는 경우
,
이되는 readFilter을
$objReader->setLoadSheetsOnly(array(1,2))
또는
$objReader->setLoadSheetsOnly(1)
을 사용하거나 정의를 보면 셀 캐싱을 사용하고 있습니까? 그렇다면 어떤 방법입니까? 그러면로드 시간이 늦어집니다.
17MB는 상당한 파일입니다.
1MB 파일을 분석하는 데 걸리는 시간으로, 17MB 파일의 소요 시간을 계산할 수 있습니다. 그런 다음 한 가지 옵션으로 120 초 제한을 늘릴 수 있습니다.
또는 CSV로 내보낼 수 있습니다.이 CSV는 더 효율적인 방법이며 PHP의 fgetcsv를 통해 가져올 수 있습니다.
큰 파일을 읽을 때 Excel Explorer이 더 좋다는 이야기를 들었습니다.
어쩌면 변환/csv로 내보내기, 내장 fgetcsv() 사용할 수 있습니다. 어떤 종류의 기능이 필요한지에 달려 있습니다. 당신이 당신의 읽기에서 필요로하는 유일한 것은 Excel 파일 데이터 인 경우
, 여기에 큰 엑셀 파일을 읽을 수있는 길입니다 :
내가 예와 데비안/우분투, 내 서버에 gnumeric과를 설치 : 는 apt-get을 설치 gnumeric과
그런 다음 PHP 내 엑셀 파일을 읽고 매우 간단 (치수는 행과 COLS 있습니다)되는 두 개의 dimensionnal 데이터 배열로 저장하기 위해 호출
system("ssconvert \"$excel_file_name\" \"temp.csv\"");
$array = array_map("str_getcsv", file("temp.csv"));
그럼 내가 할 수있는 내가 함께 원하는 내 정렬. 10MB 크기의 큰 xls 파일의 경우 10 초 미만의 시간이 걸리며, 동시에 좋아하는 스프레드 시트 소프트웨어에 파일을로드해야합니다.
매우 큰 파일의 경우 file() 함수를 사용하여 전체 csv 파일을 메모리에 저장하지 않으려면 fopen() 및 file_getcsv() 함수를 사용해야하며 거대한 배열에 데이터를 저장하지 않고 수행해야합니다. . 이것은 느리지 만 모든 서버의 메모리를 먹지는 않습니다!
나는 현재 XLS
형식을 읽는 만 언급 한 문제를 XLSX
, ODS
및 CSV
읽기에 매우 빠르고 스프레드 시트 리더 (https://github.com/nuovo/spreadsheet-reader)를 사용하고있다거야.
- 1. PHP로 큰 파일 다운로드
- 2. PHP로 .CONF 파일 읽기
- 3. C에서 Excel 파일 읽기
- 4. PHP로 iTunes XML 파일 읽기
- 5. PHP로 URL에서 Zip 파일 읽기
- 6. PHP로 .pst 파일 내용 읽기
- 7. php 큰 텍스트 파일 로그 읽기
- 8. SSRS 정렬의 큰 Excel 파일
- 9. PHP에서 큰 CSV 파일 읽기
- 10. PHP로 두 개의 큰 CSV 파일 병합
- 11. Office Word를 사용하여 PHP로 문서 파일 읽기
- 12. 큰 Excel 스프레드 시트 작성
- 13. C# 열 단위로 Excel 파일 읽기 인덱스
- 14. Excel 파일 읽기 MSOffice 대 오픈 오피스
- 15. C#에서 Excel 2007 파일 (.xlsx) 읽기
- 16. C#으로 Excel 파일 읽기 - 시트 선택
- 17. PHP : Excel 파일 읽기 및 쓰기
- 18. PHP xlsx Excel 2007 파일 읽기
- 19. Gembox로 Excel 파일 읽기 - Columns.Count = 0
- 20. ADO.net에서 Excel 파일 읽기 - 데이터 없음 (테이블)
- 21. C#, OLEDB 지정된 행의 Excel 파일 읽기
- 22. Flex에서 클라이언트 측 Excel 파일 읽기
- 23. C++ stl을 사용하여 4GB보다 큰 파일 읽기.
- 24. PHP로 Excel 테이블을 엑셀
- 25. PHP로 XML 읽기
- 26. PHP로 이미지에서 텍스트 읽기
- 27. PHP로 Excel 스프레드 시트 작성하기
- 28. 큰 Excel 파일로드
- 29. Excel 파일에서 데이터 읽기
- 30. Excel 파일에서 값 읽기
상업용으로 500 달러라면 더 좋을 것입니다. –
가격 및 품질에는 상관 관계가 없습니다. 자신의 웹 응용 프로그램에 사용할 경우에만 $ 99 개인 라이센스가 필요합니다. – Sjoerd