Microsoft Excel - Alteryx 驱动程序
Alteryx 内置了 Microsoft Excel 的原生读写驱动程序。在 Alteryx Designer 中读写 XLSX 工作表无需安装驱动程序或进行其他系统配置。
配置
通过 Alteryx 驱动程序,输出数据工具中可用于 Microsoft Excel (XLSX) 文件的文件格式选项提供以下功能:
创建新工作表
覆盖文件(移除)
覆盖表格(删除)
附加到现有工作表
长度和限制
在读取和写入 XLSX 文件时,Alteryx 驱动程序完全支持已经记录的 Excel 行数和列数限制。
最大行数(Excel 规定的限制) | 1,048,575 |
最大列数(Excel 规定的限制) | 16,384 |
列名称长度和字段名称限制 | 建议使用 256,以便与其他格式兼容。 |
超出记录限制(1,048,575 行和 16,384 列) | 超出列限制会导致错误,超出行限制会导致文件被截断。 |
超出文件大小限制(4,294,967,295 字节,大约 4GB) | 显示错误消息:“写入此工作表的数据量太大。正在中止进程。” |
数据类型
Alteryx 驱动程序会分析工作表数据,以确定每列的数据类型和字段名称。
解析数据类型 | 如果列包含混合的数据类型,则其数据类型设置为 String/WString。 |
字符串值 | 尽可能返回窄字符串。 |
数字舍入 | 为单元格指定的格式将被忽略。例如,如果一个单元格中包含数值 1.27952,并且格式设置为显示小数点后 2 位,则系统返回的是完整数值 1.27952,而不是 1.28。 |
日期、时间和日期时间 | 所有“日期”和“时间”都以 Alteryx 格式显示。“日期”数据类型的格式将取决于对列中数据的分析。
|
字段名称
重复的字段/列名称:原始 Excel 文件中以下列名:abc、abc、abc、123、123 和 123,读取时会变为:abc、abc2、abc3、123、123_2 和 123_3。
格式为日期的列名:当原始 Excel 文件中存在格式为日期的列名(例如 1/1/2014、2/1/2014、3/1/2014)时,系统将自动将这些列名转换为 Alteryx 默认日期格式:2014-01-01、2014-02-01、2014-03-01。
工作表与范围名称中的特殊字符:Alteryx 现已支持 Excel 工作表命名规则所允许的全部字符。如果 Excel 支持在为工作表命名时使用的字符,则新驱动程序可以读取该字符,并且不会转换或更改任何字符。
工作表名称中禁用以下字符:
\
、/
、?
、*
、[
和]
。
在空列单元格中设置格式
对空单元格应用的格式设置(例如边框样式)可能导致 Alteryx 误判该行存在数据。这会影响列标题检测。使用“数据导入起始行”选项,或确保数据格式统一性以避免触发系统异常行为。
公式错误
当工作表中的公式出错时,Alteryx 将为非字符串类型的字段返回一个 NULL 值,为字符串类型的字段返回实际错误字符串。
范围
用于 Microsoft Excel 的 Alteryx 驱动程序提供以下功能...
支持读取命名范围和显式范围。
支持写入显式范围。支持覆盖命名范围,但不能创建新的范围。
注意
Alteryx 支持在覆盖期间保留单元格格式(不包括模板)。
数据输出工作表名称
用于 Microsoft Excel 的 Alteryx 驱动程序支持读取工作表名称列表。
日期和 Excel
日期时间精度
尽管 Alteryx 现已支持亚秒级日期时间精度(精度高于秒的日期时间数据),但 XLSX 格式不支持此类高精度日期时间数据。若尝试将 Alteryx 中的高精度日期时间数据写入 XLSX 文件,系统将抛出字段转换错误,提示高精度日期已被截断至秒级,例如:
XLSX 不支持高精度时间,其值会被截断为秒:字段“@1”。
您可以考虑采用以下解决方案:
您可以考虑在写入 XLSX 之前将日期时间数据的格式设置为字符串,作为权宜之计。这样做可让 Excel 公式处理这些数据,但秒的小数部分将被忽略。
或者,您可以使用选择工具将日期时间数据截断,以避免在 Alteryx 中触发上述警告。
1900 年以前的日期
Excel 不支持 1900 年之前的日期。涉及 1900 年 1 月 1 日至 1900 年 3 月 1 日的日期的计算会产生不正确的结果。如需详细了解此问题,请访问 Microsoft 文档。
FileTables 支持
Alteryx 驱动程序支持读写 Microsoft SQL Server FileTable 中的 Excel 文件,方法是浏览 FileTable 的 UNC 路径,并对文件进行映射(就像存储在网络驱动器上的文件一样)。要将 Excel 文件写入 Microsoft SQL Server FileTable,必须在输出数据工具中选中格式特定选项启用 SQL Server FileTable 支持。
XLSX 写入支持的输出选项
创建新工作表
如果存在文件,则系统会创建新工作表。如果已有同名工作表,则系统会显示错误。
如果文件不存在,则系统会创建新文件和工作表。
附加到现有工作表
如果存在文件,数据将写入指定的工作表中。如果指定的工作表不存在,则会出现错误。
如果文件不存在,则系统不会写入数据。
覆盖工作表或范围
如果存在文件,系统将删除指定的工作表(若有),然后将数据写入具有指定名称的新工作表中。
如果文件不存在,则系统会创建新文件和工作表。
覆盖文件(移除)
如果存在文件,系统将删除该文件,然后将数据写入新文件的新工作表中。
如果文件不存在,则系统会创建新文件和工作表。
使用范围时的 XLSX 写入支持的其他信息
创建工作表/覆盖文件 | 附加工作表 | 覆盖工作表 |
---|---|---|
可以使用显式范围。 无法使用命名范围,因为命名范围与工作表绑定,而工作表不存在。 | 显式范围和命名范围都可以使用。 必须事先为工作表定义命名范围。 | 显式范围和命名范围都可以使用。 必须事先为工作表定义命名范围。 |
数据包含的列数不能超过指定范围,但可以少于指定范围。 如果传入的数据不足以填满范围,则列将被填入 null。 | 数据包含的列数不能超过指定范围,但可以少于指定范围。 如果该范围内的传入列较少,则未映射的列将被填入 null。 | 数据包含的列数不能超过指定范围,但可以少于指定范围。 如果传入的数据不足以填满范围,则列将被填入 null。 |
数据从指定范围第一行的左上角单元格开始写入。 | 数据将从原始数据之后的第一个可用行开始附加。附加时,不会覆盖任何现有数据。 无法将数据写入包含合并单元格的工作表。 列名应包含在范围中。如果范围中的第一行为空,则范围中包含数据的第一行将被用作列名。如果列名与传入数据不匹配,则必须使用输出数据工具中的“自定义附加映射器”手动将其映射到输出名称。 | 数据从指定范围第一行的左上角单元格开始写入。 无法将数据写入包含合并单元格的工作表 |
数据包含的行数可以超过指定范围。 数据将写入指定范围之外,直至...
| 数据包含的行数可以超过指定范围。 数据将写入指定范围之外,直至...
| 数据包含的行数可以超过指定范围。 数据将写入指定范围之外,直至...
|