2019年10月11日14:01:48

Spreadsheet

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

为了简化PhpSpreadsheet概念:Spreadsheet该类表示您的工作簿。

通常,您可以通过以下两种方式之一创建工作簿,即从电子表格文件加载工作簿,或手动创建工作簿。第三种方法虽然不那么常用,但它是克隆使用前面两种方法之一创建的现有工作簿。

从文件加载工作簿

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

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

创建一个新的工作簿

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

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

始终将使用一个工作表创建一个新的工作簿。

从内存中清除工作簿

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

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

  1. $spreadsheet->disconnectWorksheets();
  2. 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联合发布。

  1.  

phpspreadsheet 中文文档(四) 创建电子表格+档案格式的更多相关文章

  1. phpspreadsheet 中文文档 粗翻版

    2019年10月11日09:32:33 官方使用文档  https://phpspreadsheet.readthedocs.io/en/stable/topics/accessing-cells/ ...

  2. phpspreadsheet 中文文档(七)技巧和诀窍

    2019年10月11日14:08:35 以下页面为您提供了一些使用广泛的PhpSpreadsheet食谱.请注意,这些文件没有提供有关特定PhpSpreadsheet API函数的完整文档,而只是一个 ...

  3. phpspreadsheet 中文文档(一) 访问单元格

    2019年10月11日11:45:09 访问单元格 访问电子表格中的单元格应该非常简单.本主题列出了一些访问单元的选项. 通过坐标设置单元格值 可以使用工作表的setCellValue()方法来按坐标 ...

  4. phpspreadsheet 中文文档(八)读写文件+读取文件

    2019年10月11日14:09:40 配置设定 将PhpSpreadsheet文件包含在脚本中之后,但是在实例化Spreadsheet对象或加载工作簿文件之前,可以设置许多配置选项,这些配置选项将影 ...

  5. phpspreadsheet 中文文档(六)读写文件+读取文件

    2019年10月11日14:05:58 读写文件 从体系结构您已经知道,使用基本PhpSpreadsheet类无法对持久性存储进行读写.为此,PhpSpreadsheet提供读者和作家,这是实现\Ph ...

  6. phpspreadsheet 中文文档(五)节约内存+PHPExcel迁移

    2019年10月11日14:03:31 节省内存 PhpSpreadsheet在工作表中平均每个单元格使用约1k,因此大型工作簿可以迅速用尽可用内存.单元缓存提供了一种机制,使PhpSpreadshe ...

  7. phpspreadsheet 中文文档(三) 计算引擎

    2019年10月11日13:59:52 使用PhpSpreadsheet计算引擎 执行公式计算 由于PhpSpreadsheet表示内存中的电子表格,因此它还提供公式计算功能.单元格可以是值类型(包含 ...

  8. phpspreadsheet 中文文档(二) 结构+自动筛选

    2019年10月11日13:55:41 原理图 自动加载器 PhpSpreadsheet依赖于Composer自动加载器.因此,在独立使用PhpSpreadsheet之前,请确保先运行composer ...

  9. Knockout中文开发指南(完整版API中文文档) 目录索引

    a, .tree li > span { padding: 4pt; border-radius: 4px; } .tree li a { color:#46cfb0; text-decorat ...

随机推荐

  1. 项目Beta冲刺(团队)--5/7

    课程名称:软件工程1916|W(福州大学) 作业要求:项目Beta冲刺 团队名称:葫芦娃队 作业目标:进行新一轮的项目冲刺,尽力完成并完善项目 团队博客 队员学号 队员昵称 博客地址 04160242 ...

  2. Spring Cloud 之 Gateway 知识点:网关

    Spring Cloud Gateway 是使用 netty+webflux 实现因此不需要再引入 web 模块. Spring Cloud Gateway 提供了一种默认转发的能力,只要将 Spri ...

  3. frp开机启动

    暂时只介绍linux版本的做法,作为备忘. 添加systemd配置文件: vim /usr/lib/systemd/system/frp.service 文件内容如下: [Unit] Descript ...

  4. 2019 CSP-J复赛游记

    不出行?不出行考屁呢? 今天的CSP-J似乎比去年简单了一些,可它... 好了,来说一说我的情况. T1:太水,5分钟秒 T2:这个数据有点尴尬,双重循环铁定爆,用链表有有一点小题大做.本蒟蒻在考场上 ...

  5. nginx 日志之 error_log

    Nginx错误日志平时不用太关注,但是一旦出了问题,就需要借助错误日志来判断问题所在. 配置参数格式:error_log /path/to/log level; Nginx错误日志级别 常见的错误日志 ...

  6. linux下安装 ping 命令

    使用docker仓库下载的ubuntu 14.04 镜像.里面精简的连 ping 命令都没有.google 百度都搜索不到ping 命令在哪个包里. 努力找了半天,在一篇文章的字里行间发现了 ping ...

  7. python 项目实战之随机杀死程序

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/10/14 13:54 # @Author : zoulixiang # @S ...

  8. cloneable以及深拷贝和浅拷贝

    Objec类有11个方法,有两个protected的方法,其中一个为clone方法(另一个为finalize). 该方法的签名是: protected native Object clone() th ...

  9. JS字符串转换为JSON的四种方法

    转自:https://www.cnblogs.com/hgmyz/p/7451461.html 1.jQuery插件支持的转换方式:  示例: $.parseJSON( jsonstr ); //jQ ...

  10. windows获取管理员权限 操作文件

    1.文件右键属性 2.安全tab 一路 “应用”和“确定”