簡體   English   中英

PHP-讀取Excel文件

[英]PHP - Read excel file

我想逐行讀取PHP的Excel文件,因為一次讀取整個文件會導致內存溢出。

我進行了很多搜索,但到目前為止還沒有運氣。

我認為,當您實現過濾器類時,PHPExcel庫可以讀取excel文件的塊,但是每次獲取該塊時,它都會讀取整個文件,這在大型.xls文件中是不可能的,因為這會花費時間。

有什么幫助嗎?

這可能是完全沒有問題的,但是從我從您的問題中獲得的信息來看,以下似乎是一個顯而易見的選擇,至少是要考慮的問題...

我覺得這是一個很大的文件,需要經常訪問。 因此,我只是嘗試將其數據導入數據庫中。

  • 我想沒有必要說明數據庫是性能和緩存方面的大師。
  • 之后,仍然可以將數據庫的內容導出到excel文件。
  • MySql與PHP配合使用非常好,並且肯定比excel文件更易於訪問。 大多數php托管提供程序默認情況下都提供帶有PhpMyAdmin管理工具的MySql數據庫。

怎么做:

  • 如果您已安裝PhpMyAdmin,則可以按照以下簡單步驟進行操作
  • 如果您具有對服務器的命令行訪問權限,那么您甚至可以將文件從命令行直接導入MySql數據庫。

如果您只需要從讀取的Excel文件中獲取數據,這就是我讀取大型Excel文件的方法:

我在服務器上安裝了gnumeric,即使用debian / ubuntu:apt-get install gnumeric

然后,php調用讀取我的excel文件並將其存儲到二維數據數組中非常簡單(尺寸是行和列):

system("ssconvert \"$excel_file_name\" \"temp.csv\"");
$array = array_map("str_getcsv", file("temp.csv"));

然后,我可以使用陣列進行所需的操作。 對於10MB的大型xls文件,此過程不到10秒,與此同時,我需要將文件加載到我最喜歡的電子表格軟件中!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM