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 中文文档(四) 创建电子表格+档案格式的更多相关文章

  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. Discuz通过修改文章标题更好的实现SEO的方法

    找到: /source/module/forum/forum_viewthread.php 代码如下: $navtitle = get_title_page($_G['forum_thread'][' ...

  2. SSM项目day4 Oracle批量插入数据bug <foreach>标签中collection属性使用的是属性名

  3. redux的知名ppt

    https://slides.com/jenyaterpil/redux-from-twitter-hype-to-production#/20

  4. 浙大PAT 2-10. 海盗分赃——经典博弈

    题意 P个海盗偷了D颗钻石后分赃($3 \leq P, D\leq 100$),采用分赃策略: 从1号开始,提出一个分配金币的方案,如果能够得到包括1号在内的绝对多数(即大于半数)同意,则执行该方案, ...

  5. OpenCV实现"你的名字"滤镜

    这是一个比较有意思的demo,用到了播送融合,具体效果见下图: 文件结构如图所示 主程序代码 #include"stdafx.h" #include<opencv2/phot ...

  6. react知识点总结(持续更新。。。)

    一.webpack 1. 什么是以及为什么要使用webpack 现在的网页功能越来越丰富,所需要的JavaScript和模块也会很多,为开发更加简洁,出现了以下方法,如模块化,scss,typescr ...

  7. minikube 安装试用

    目前使用k8s 要么用的物理机搭建的环境,要么就是使用docker for mac 中kubernetes 的特性,为了本地调试方便,使用下minikube minukube 包含的特性 负载均衡器 ...

  8. github Actions 使用方法

    http://www.ruanyifeng.com/blog/2019/09/getting-started-with-github-actions.html Actions 是github提供的持续 ...

  9. 小功能 清单模板导入 根据Excel生成树

    把代码备份一下,免得硬盘又坏了,看来已经造成心理阴影了啊. 方式一: //清单范本 public void test1() { //生成说明 var ds = ExcelHelper.ExcelToD ...

  10. Xml解析作业与Xml建模andXml建模作业

    作业:config.xml解析 1.获取所有action中的type的值 public static void main(String[] args) throws Exception { Input ...