2019年10月11日14:01:48
該Spreadsheet
班
該Spreadsheet
班是PhpSpreadsheet的核心。它包含對所包含工作表,文檔安全性設置和文檔元數據的引用。
為了簡化PhpSpreadsheet概念:Spreadsheet
該類表示您的工作簿。
通常,您可以通過以下兩種方式之一創建工作簿,即從電子表格文件加載工作簿,或手動創建工作簿。第三種方法雖然不那么常用,但它是克隆使用前面兩種方法之一創建的現有工作簿。
從文件加載工作簿
在“ 讀取文件”文檔中完整描述了所支持的各種電子表格格式的詳細信息以及可將其讀入Spreadsheet對象的選項。
$inputFileName = './sampleData/example1.xls'; /** Load $inputFileName to a Spreadsheet object **/ $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName);
創建一個新的工作簿
如果要創建一個新的工作簿,而不是從文件中加載一個工作簿,則只需將其實例化為一個新的電子表格對象。
/** Create a new Spreadsheet Object **/ $spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
始終將使用一個工作表創建一個新的工作簿。
從內存中清除工作簿
PhpSpreadsheet對象包含循環引用(例如,工作簿鏈接到工作表,而工作表鏈接到其父工作簿),當PHP嘗試從內存中清除對象時unset()
或在函數結束時嘗試從內存中清除對象時,會導致問題他們在當地范圍內。其結果是“內存泄漏”,它可以輕松使用大量PHP的有限內存。
這只能手動解決:如果您需要取消設置工作簿,則還需要先“破壞”這些循環引用。PhpSpreadsheet提供了disconnectWorksheets()
用於此目的的方法。
$spreadsheet->disconnectWorksheets(); unset($spreadsheet);
檔案格式
盡管並非所有閱讀器都支持所有功能,但PhpSpreadsheet可以讀取許多不同的電子表格和文件格式。在功能交叉參考中檢查列表,該列表標識哪些讀者支持哪些功能。
目前,PhpSpreadsheet支持以下文件類型進行讀取:
Xls
Microsoft Excel™二進制文件格式(BIFF5和BIFF8)是Microsoft Excel™在版本95和2003之間使用的二進制文件格式。大多數電子表格程序都(在不同程度上)支持該格式。BIFF文件通常具有.xls擴展名。描述該格式的文檔可以在線閱讀 或下載為PDF。
Xml
Microsoft Excel™2003包括稱為SpreadsheetML的文件格式的選項。該文件是一個壓縮的XML文檔。它不是很常見,但是支持其核心功能。該格式的文檔可在線閱讀, 但可悲的是其詳細信息很少。
Xlsx
Microsoft Excel™2007附帶了一種新的文件格式,即Microsoft Office Open XML SpreadsheetML,而Excel 2010通過其新功能(如迷你圖)進一步擴展了此功能。這些文件的擴展名通常為.xlsx。此格式基於可擴展標記語言(XML)文件的壓縮集合。Microsoft Office Open XML SpreadsheetML主要在ECMA 376 和ISO 29500中進行了標准化。
奧茲
aka Open Document Format(ODF)或OASIS,這是電子表格的OpenOffice.org XML文件格式。它包含一個zip歸檔文件,其中包括幾個組件,所有組件都是文本文件,其中大多數帶有可擴展標記語言(XML)中的標記。這是OpenOffice.org Calc和StarCalc的標准文件格式,文件通常具有.ods擴展名。文件格式的已發布規范可從OASIS開放辦公室XML格式技術委員會網頁獲得。其他信息可從OpenOffice.org XML文件格式網頁(OpenOffice.org項目的一部分)獲得。
Slk
這是Microsoft Multiplan符號鏈接交換(SYLK)文件格式。Multiplan是Microsoft Excel™的前身。文件通常具有.slk擴展名。盡管不常見,但仍有一些應用程序將SYLK文件作為跨平台選項生成,因為(盡管僅限於單個工作表)它是一種易於實現的格式,並且支持一些基本數據和單元格格式設置(與CSV文件)。
字母數字
所述Gnumeric的文件格式 是由侏儒Gnumeric的電子表格應用程序使用,並且通常是文件具有的擴展.gnumeric
。使用可擴展標記語言(XML)標記存儲文件內容,然后使用GNU項目的gzip壓縮庫壓縮文件。
中央電視台
逗號分隔值(CSV)文件格式是文本格式文件的常見結構化策略。在CSV文件中,文件中的每一行代表一行數據,並且(在文件的每一行內)不同的數據字段(或列)之間用逗號(,
)隔開。如果數據字段包含逗號,則應將其括起來(通常用引號("
)引起。有時\t
,將制表符,管道符號(|
)或分號(;
)用作分隔符而不是逗號),盡管其他符號由於CSV是純文本格式,因此不支持任何數據格式設置選項。
“ CSV”不是一個單一的,定義明確的格式(盡管請參閱RFC 4180了解常用的一種定義)。實際上,術語“ CSV”是指以下任何文件:
- 是使用字符集(例如ASCII,Unicode,EBCDIC或Shift JIS)的純文本,
- 由記錄組成(通常每行一條記錄),
- 記錄分為由定界符(通常是單個保留字符,例如逗號,分號或制表符)分隔的字段,
- 每個記錄具有相同的字段順序。
在這些一般約束下,正在使用許多變體。因此,“ CSV”文件並非完全可移植。但是,變化很小,許多實現都允許用戶瀏覽文件(這是可行的,因為它是純文本),然后指定分隔符,引用規則等。
警告: Microsoft Excel™將打開.csv文件,但是根據系統的區域設置,它可能期望使用分號代替逗號,而不是逗號,因為在某些語言中,逗號用作十進制分隔符。同樣,許多區域版本的Excel將無法處理CSV文件中的Unicode字符。
HTML
超文本標記語言(HTML)是用於創建網頁和其他可在Web瀏覽器中顯示的信息的主要標記語言。文件通常具有.html或.htm擴展名。HTML標記提供了一種通過表示文本的結構語義(例如標題,段落,列表,鏈接,引號和其他項目)來創建結構化文檔的方法。自1996年以來,萬維網聯盟(W3C)一直在維護HTML規范,並由商業軟件供應商提供意見。但是,在2000年,HTML也成為國際標准(ISO / IEC 15445:2000)。HTML 4.01於1999年底發布,隨后的勘誤發布到2001年。2004年,Web超文本應用技術工作組(WHATWG)開始了HTML5的開發,該工作組於2008年與W3C聯合發布。