phpspreadsheet 中文文档(四) 创建电子表格+档案格式
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联合发布。
phpspreadsheet 中文文档(四) 创建电子表格+档案格式的更多相关文章
- phpspreadsheet 中文文档 粗翻版
2019年10月11日09:32:33 官方使用文档 https://phpspreadsheet.readthedocs.io/en/stable/topics/accessing-cells/ ...
- phpspreadsheet 中文文档(七)技巧和诀窍
2019年10月11日14:08:35 以下页面为您提供了一些使用广泛的PhpSpreadsheet食谱.请注意,这些文件没有提供有关特定PhpSpreadsheet API函数的完整文档,而只是一个 ...
- phpspreadsheet 中文文档(一) 访问单元格
2019年10月11日11:45:09 访问单元格 访问电子表格中的单元格应该非常简单.本主题列出了一些访问单元的选项. 通过坐标设置单元格值 可以使用工作表的setCellValue()方法来按坐标 ...
- phpspreadsheet 中文文档(八)读写文件+读取文件
2019年10月11日14:09:40 配置设定 将PhpSpreadsheet文件包含在脚本中之后,但是在实例化Spreadsheet对象或加载工作簿文件之前,可以设置许多配置选项,这些配置选项将影 ...
- phpspreadsheet 中文文档(六)读写文件+读取文件
2019年10月11日14:05:58 读写文件 从体系结构您已经知道,使用基本PhpSpreadsheet类无法对持久性存储进行读写.为此,PhpSpreadsheet提供读者和作家,这是实现\Ph ...
- phpspreadsheet 中文文档(五)节约内存+PHPExcel迁移
2019年10月11日14:03:31 节省内存 PhpSpreadsheet在工作表中平均每个单元格使用约1k,因此大型工作簿可以迅速用尽可用内存.单元缓存提供了一种机制,使PhpSpreadshe ...
- phpspreadsheet 中文文档(三) 计算引擎
2019年10月11日13:59:52 使用PhpSpreadsheet计算引擎 执行公式计算 由于PhpSpreadsheet表示内存中的电子表格,因此它还提供公式计算功能.单元格可以是值类型(包含 ...
- phpspreadsheet 中文文档(二) 结构+自动筛选
2019年10月11日13:55:41 原理图 自动加载器 PhpSpreadsheet依赖于Composer自动加载器.因此,在独立使用PhpSpreadsheet之前,请确保先运行composer ...
- Knockout中文开发指南(完整版API中文文档) 目录索引
a, .tree li > span { padding: 4pt; border-radius: 4px; } .tree li a { color:#46cfb0; text-decorat ...
随机推荐
- 认识Activiti
之前没有用到过工作流,这次由于需要,用到了Activiti工作流引擎,首先要做的就是先来了解一下什么是工作流引擎,它能够完成什么的任务,我们在什么情况下选用工作流引擎来处理问题. 1.Activiti ...
- JQuery系列(5) - Deferred对象
从jQuery 1.5.0版本开始引入的一个新功能----deferred对象. 简单说,deferred对象就是jQuery的回调函数解决方案.在英语中,defer的意思是"延迟" ...
- async/await 和 trycatch/throwable机制类似
async/await 和 trycatch/throwable机制类似
- react native断点调试--Debug React-Native with VSCode
.babelrc { "presets": [ "react-native" ], "sourceMaps": true } Many Ja ...
- CENTOS 7 下安装 REDIS 5.0.6 完整步骤
第一步:下载redis安装包 wget http://download.redis.io/releases/redis-5.0.6.tar.gz 第二步:解压压缩包 tar -zxvf redis ...
- 使用 ML.NET 对 K-Means 平均值聚类分析和分类
数据集 :https://en.wikipedia.org/wiki/Iris_flower_data_set 聚类分析 非监管式机器学习任务,用于将数据实例分组到包含类似特性的群集. 聚类分析还可用 ...
- [RN] React Native ScrollView自动滑动到顶部
react-native 自动滚到屏幕顶部,模仿微信朋友圈评论自动定位 <ScrollView showsVerticalScrollIndicator={false} style={[styl ...
- 【LG3582】[POI2015]KIN
[LG3582][POI2015]KIN 题面 洛谷 题解 这题维护区间的信息有点像最大子段和,我们往最大子段和上面靠. 对于一个颜色,我们有一个直观的想法就是将它一次出现的权值设为正,二次出现就设为 ...
- 洛谷 P5614题解
吐槽:数据好像有点水,直接枚举到200可以得80 points. 另:我还是太弱了,比赛的时候只有90 points,#7死卡不过去,最后发现是没有判断 \(z_1\) 和 \(z_2\) 的范围-- ...
- Exploiting ConvNet Diversity for Flooding Identification
语义分割洪水区域. 空洞卷积和反卷积组合,结果再用svm学习如何组合,能获得更好的效果. 直接对不同网络的结果进行投票会得到更差的结果. 消融研究(Ablation Study):类似控制变量法,就对 ...