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 ...
随机推荐
- C#中的事件的订阅与发布
认识发布者/订阅者模式 发布者定义一系列事件,并提供一个注册方法: 订阅者向发布者注册自己的事件处理逻辑,供一个可被回调的方法,也就是事件处理程序:当发布者的事件被触发的时候,订阅者将通过回调函数得到 ...
- 项目Beta冲刺(团队)——05.29(7/7)
项目Beta冲刺(团队)--05.29(7/7) 格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Beta冲刺(团队) 团队名称:为了交项目干杯 作业目标:记录Beta敏捷冲刺第7 ...
- linux正则表达式与通配符练习
---恢复内容开始--- 1.删除tmp目录下的所有文件 cd .. cd .. cd tmp rm -fr * 2.把etc目录下以p开头的文件和目录过滤出来 cd /etc/ ls p* (前一 ...
- 牛客网 牛客练习赛4 A.Laptop-二维偏序+离散化+树状数组
A.Laptop 链接:https://ac.nowcoder.com/acm/contest/16/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其 ...
- 如何把Eclipse项目迁移到AndroidStudio(如何把项目导入安卓)--这我很困惑
学习android对我来说,就是兴趣,所以我以自己的兴趣写出的文章,希望各位多多支持!多多点赞,评论讨论加关注. 大佬必备功能. 把Eclipse项目迁移到AndroidStudio 现在就叫你如何把 ...
- oracle中union和union all区别与性能分析
[ 概要 ] 经常写sql的同学可能会用到union和union all这两个关键词, 可能你知道使用它们可以将两个查询的结果集进行合并, 那么二者有什么区别呢? 下面我们就简单的分析下. [ 比较 ...
- 第08组 Alpha冲刺(3/6)
队名:955 组长博客:https://www.cnblogs.com/cclong/p/11872693.html 作业博客:https://edu.cnblogs.com/campus/fzu/S ...
- 某邀请赛misc key阉割发行版
目录 题目下载 提示 解题过程 1.提取RGB值 2.找到key 3.循环异或,得到flag 反思 题目下载 题目名:key 提示 提取钥匙中特殊颜色的RGB循环异或KEY值 解题过程 1.提取RGB ...
- C# 序列化与反序列化Serialization之Json Xml Binary Soap JavaScript序列化
所谓的序列化其实就是把一个内存中的对象信息转化成一个可以持久化保存的形式,方便保存数据库和文件或着用于传输, 序列化的主要作用是不同平台之间进行通信与信息的传递保存等,常用的有序列化有Json Xml ...
- rabbitmq在linux下单节点部署和基本使用
RabbitMQ是基于erlang开发的消息服务,官网为:https://www.rabbitmq.com,RabbitMQ要依赖erlang运行,所以要先安装erlang环境,rabbitmq可以用 ...