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 ... 
随机推荐
- python 二、八、十六进制之间的快速转换
			一.进制转换 1.2 十进制转二进制 bin(18)--> '0b10010' 去掉0b就是10010 即为十进制18转二进制是10010 十进制转八进制oct(18) --> ... 
- CalcIntegerLength
			private static int CalcIntegerLength(int iLen) { //String str_iLen = Convert.ToString(iLen); int str ... 
- 小程序开发二三事--数据请求head的设置
			wx.request(OBJECT) 发起请求的方法有很多,默认为 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT: 一般在 ... 
- Laravel 自定义公共函数全局使用,并设置自定加载
			开发中经常定义一些公共函数(如:获取用户信息.csv导入导出等常用函数),方便控制层,模型层调用. 那么在Laravle框架中怎么使用? 方法如下: 1.在根目录app下新建公共目录Library/U ... 
- where与having 的区别
			二者的区别在于作用对象不同. where子句作用于基本表或视图,从中选择满足条件的一行或多行元祖. having短语作用于组,从中选择满足条件的组.这些组应该由group by 短句来进行分组. 
- yugabyte cdc 试用
			目前yugabyte 的cdc 功能处于beta 阶段,应该也快实际可用了,以下是一个简单的试用 环境准备 使用docker-compose docker-compose 文件 version: '2 ... 
- System.NotSupportedException:“No data is available for encoding 1252. For information on defining a custom encoding
			最近搞 .net项目,Dapper连接Mysql时,运行报错: System.NotSupportedException:“No data is available for encoding 1252 ... 
- python requests 保存图片
			html = requests.get('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec ... 
- curl 设置超时时间
			使用CURL时,有两个超时时间:一个是连接超时时间,另一个是数据传输的最大允许时间.连接超时时间用--connect-timeout参数来指定,数据传输的最大允许时间用-m参数来指定. curl -- ... 
- Java——获取网页内容并在本地生成HTML文件
			使用java.net包下的URL类,可以将一个网页(链接)封装成一个URL对象. URL对象有一个openStream()方法,使用该方法可以获取该网页的输入流,我们可以通过读取输入流的方式获得网页的 ... 
