phpspreadsheet 中文文档(四) 建立电子表格+档案格式

2019年10月11日14:01:48php

Spreadsheet

Spreadsheet班是PhpSpreadsheet的核心。它包含对所包含工做表,文档安全性设置和文档元数据的引用。html

为了简化PhpSpreadsheet概念:Spreadsheet该类表示您的工做簿。浏览器

一般,您能够经过如下两种方式之一建立工做簿,即从电子表格文件加载工做簿,或手动建立工做簿。第三种方法虽然不那么经常使用,但它是克隆使用前面两种方法之一建立的现有工做簿。安全

从文件加载工做簿

在“ 读取文件”文档中完整描述了所支持的各类电子表格格式的详细信息以及可将其读入Spreadsheet对象的选项函数

$inputFileName = './sampleData/example1.xls'; /** Load $inputFileName to a Spreadsheet object **/ $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($inputFileName); 

建立一个新的工做簿

若是要建立一个新的工做簿,而不是从文件中加载一个工做簿,则只需将其实例化为一个新的电子表格对象。spa

/** Create a new Spreadsheet Object **/ $spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet(); 

始终将使用一个工做表建立一个新的工做簿。code

从内存中清除工做簿

PhpSpreadsheet对象包含循环引用(例如,工做簿连接到工做表,而工做表连接到其父工做簿),当PHP尝试从内存中清除对象时unset()或在函数结束时尝试从内存中清除对象时,会致使问题他们在当地范围内。其结果是“内存泄漏”,它能够轻松使用大量PHP的有限内存。orm

这只能手动解决:若是您须要取消设置工做簿,则还须要先“破坏”这些循环引用。PhpSpreadsheet提供了disconnectWorksheets()用于此目的方法。xml

$spreadsheet->disconnectWorksheets(); unset($spreadsheet);



档案格式

尽管并不是全部阅读器都支持全部功能,但PhpSpreadsheet能够读取许多不一样的电子表格和文件格式。功能交叉参考中检查列表,该列表标识哪些读者支持哪些功能。htm

目前,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联合发布。