Microsoft Excel Reader(XLSXR)和Writer(XLSXW)
许可选项此格式从FME专业版开始。
FME提供对Microsoft Excel电子表格(也称为手册).Excel电子表格可能包含多个工作表(通常称为床单)每个工作表可以可选地包含名为Cell Ranges的特定命名命名范围。
格式缩写 |
---|
读者:XLSXR |
作者:XLSXW |
版本
此格式支持以下Excel文件类型:
- Excel 97-2003二进制格式(.xls)
- Excel 2007-2013 xml格式(.xlsx/.xlsm). xlsm文件是启用了宏的.xlsx文件,使用相同的文件格式。
Excel Reader / Writer不支持二进制工作簿(.xlsb),启用宏的模板(.xltm),或Excel加载项(.xlam)。
此读取器/写入器只能处理每个读取器或编写器的一个Excel文件类型。
XLS和XLSX之间的差异
从Office 2007开始,Microsoft更改了默认的Excel文件格式xls至.xlsx。
尽管xls是专有二进制格式,更新.xlsx版本是一个基于XML的电子表格,定义为Office Open XML (OOXML)规范。
FME如何与Excel数据一起工作
为了从Excel电子表格中获得最大的价值,您还必须组织、分析和过滤它的数据。大型数据集很容易超过Excel格式的限制:FME可以读取和分析大量数据,过滤数据,将其组织成工作表,然后将结果输出到一个可管理的电子表格中。FME还可以将电子表格与其他格式的数据(例如,人口数据库、GIS、CAD图纸、web服务和正射照片)集成在一起。
您可以使用FME执行简单的操作,如合并或过滤电子表格数据,但您也可以使用FME执行更复杂的任务,如空间操作。例如,如果您的数据包含地址,坐标对,街道名称或资产代码,则FME识别几何列的通用名称(如纬度/经度),然后自动将行转换为几何。通过像Argis Online或Google等地理编码服务集成,您可以映射Excel数据,然后在FME数据检查器中查看它。
有关使用FME自动化Excel任务的详细信息,请参阅FME和Excel.。
本章术语
学期 | 定义或FME表示 |
---|---|
电子表格和工作簿 | 读者数据集 |
工作表或命名范围 | 功能类型 |
工作表中的列或命名范围 | 属性 |
排 | 功能 |
使用笔记
读取器将属性名称与标题行上的列值匹配,以允许重新排序FME中的模式或重新排序源文件中的列。但是,重命名文件中的列(但未更改Workspace属性)将导致该列被忽略。
格式或样式信息包括字体,文本颜色,背景颜色,数字格式,填充模式,边框样式等,并且可以在列,行或单个单元格级别设置在Excel应用程序中。
Excel Reader和Writer都支持格式化。读取和写入行和单元格格式,除了从标题行格式化之外,将从读取器保留给作者。此外,Excel Writer可以写入列格式。
请注意,Excel文件中的行格式和单元格格式都被Excel阅读器作为单元格格式读取。
- 每个单元格格式存储为一个单独的属性名为< attributename > .formatting并使用每个特征格式使用的相同名称值对设置属性值。
- 属性中存储的每个特性(行)格式xlsx_row_formatting.每个特征属性。属性值是一个名称-值对列表,用分号分隔。例如:版本;1;horizontal_alignment;权利;row_height; 37; background_color; 0, 0, 1,字体,Times New Roman,粗体下划线。
- 请注意,可以使用每个单元格和每个特征格式使用Excelstyler变压器。
- 可以通过单击Writer User属性选项卡(格式列)下的“编辑”按钮来设置每列格式,并设置所需的选项。
每列明确指定格式,将与模板表或现有表中的格式合并;否则,如果未指定新格式,将保留在现有纸张或模板中格式化。符合列,行或单元格的格式化特定于每个格式设置。例如,设置背景颜色不会覆盖或使“文本对齐”或“自定义数字”格式的现有格式无效。
注意,指定的列类型也可能影响格式。具体地说日期,时间, 和DateTime列类型将强制执行某些自定义编号格式以构建日期,以及.hyperlink字段将以字体格式设置颜色和下划线值。
此格式支持公式。
读卡器可以可选地读取用于计算单元格的值并将公式存储在内< attributename > .formula。
对于作者来说,计算属性值的公式可以在名为< attributename > .formula。该公式出现在工作表中,在写入该属性的单元格中。
注意,为了将公式应用于单元格,编写器必须同时包含这两种元素attributename.(可以是空的)和attributename.formula。例如:
一个Excel文件包含三列,COL1.,COL2., 和COL3.。填写COL3.使用公式,您可以创建属性COL3.(可以是空的)和属性col3.formula.,里面充满了这个公式。在生成的Excel文件中,COL3.将包含正确的公式。
示例值是:
=总和(C2: C18)
总和(C2: C18)
(平均1美元:A5)美元美元
注意,这些不是FME表达式(因此不使用算术编辑器),但是可以使用连接和FME属性来构建公式。例如:
SUM(e @值(_rowid):p值(_rowid))
会返回公式
SUM(E3:P3) when _rowID = 3
这种格式支持嵌入的超链接。阅读器可以选择读取工作表中嵌入的超链接并将它们存储在< attributename > .hyperlink。
对于编写者,可以通过设置命名的单独属性来为属性设置超链接< attributename > .hyperlink:
在输出的Excel电子表格中,单击写入属性的单元格将打开超链接的URL。单元格的值不需要与超链接相同。注意,如果属性名是大写的(例如,属性。超链接),此功能将无法工作。
示例值是:
http://www.亚搏在线safe.com
文件:// c:/documents/readme.txt
FME使用格式识别命名范围和表格
FME目前不支持创建新的枢轴表,图表或图形,但如果在模板文件或工作表中存在,则可以向其中添加数据。
作者只能为工作表设置保护级别。电子表格的加密尚未实现。即使它们具有表格(密码)保护,读者也可以读取Excel文件,但无法读取加密电子表格。
Microsoft Excel编写器允许使用模板文件的规范作为创建新数据集的起点。如果指定了模板文件名,编写器将在模板文件中指定的位置复制模板文件数据集参数。所有写操作都将在副本上执行。指定的模板文件保持不变。如果选择了模板表,除了复制模板文件外,所有正在写入的新表都将写入该模板表的一个副本上。
当使用现有图表、图表或透视表等数据填充模板的某个区域时,或者从单个模板创建多个电子表格时,这特别有用。如果目标数据集已经存在,并且指定了模板文件,则始终将覆盖目标数据集,无论在覆盖文件:选项。同样,Writer功能类型选项删除现有的纸张/命名范围如果指定了模板文件或模板工作表,则无关紧要,因为现有工作表总是会被模板工作表取代。然而,写入器的特性类型选项截断现有表格/命名范围在被复制到目标文件后应用于模板工作表。
关于阅读器(XLSXR)
XLSX阅读器支持从同一个文件中读取多个工作表和命名范围。因此,不支持多个文件,因此您需要为每个Microsoft Excel电子表格创建一个单独的阅读器。
关于作者(XLSXW)
Microsoft Excel Writer将属性记录写入电子表格。作者提供以下功能:
- 表创作
- 图片
- 多个工作表和/或命名范围
- 写入器模式规范:写入器允许用户指定写入器模式,该模式决定对接收到的每个特性执行的操作。