西班牙
斯潘4
本条适用于仅限FME 2013 SP1(内部版本13450)及更早版本.在FME 2013 SP2中,基于Excel ADO的读写器(XLS_ADO)被弃用,取而代之的是基于LibXL库(XLSX和XLSX2)的新Excel读写器。有关当前Excel读写器的详细信息,请访问Excel入门辅导的
excel是一个受微软欢迎的电子表格应用程序。它被fme读取为非几何(或非空间)数据。选择Excel文件(.xls)进行输入时,应进入设置并选择所需的工作表(表)。
Microsoft Excel读写器通过ADO工作。
ADO用于直接读写基于微软的技术ActiveX数据对象(ADO)接口,而不是通过ODBC。其结果是改进了功能和性能(在某些情况下,改进是显著的)。
对于Excel,ADO特别允许:
Excel的默认ADO设置很可能会错误地识别列类型并自动删除数据。例如,如果列的前8个数据行包含数字,则不会读取后面的任何非数字数据。现代版本的FME试图减少这种情况发生的可能性,用户可以采取进一步的措施来改善这种情况。
ADO用于确定Excel列类型的通用算法如下:
ADO提供程序有一个限制,允许最多255列读取/写入。
有多个引擎可用于使用ADO读取Excel文件。“jet”只在执行类型扫描时考虑列中的数据。“王牌”(访问连接引擎)在执行类型扫描时同时考虑数据和数据格式。实际上,这意味着ace更有可能为列选择更安全的“文本”类型。亚搏在线
FME 2009及更早版本仅支持喷气发动机。FME 2010同时支持Jet和Ace,默认为Ace。为了解决并发读/写问题,fme 2011将默认引擎改回jet,但如果jet不存在或文件扩展名为.xlsx或.xlsb,则保留对ace的支持。所有这些版本的FME都易受上述“前8行”场景的影响,但由于ACE更可能为列类型选择文本,因此有一些文件将在FME 2010中正确读取,而不是FME 2011。
从FME 2012 Beta 12055开始,FME临时修改影响Jet引擎的注册表设置,使TypeGuessRows=0和ImportMixedTypes=Text。这将确保混合类型列被标识为文本,并且在读取时不会丢失任何数据。ace仍像以前一样工作,但如果检测到不正确的注册表设置,则会产生警告。
问)FME读取的Excel功能似乎比我在电子表格中的记录还多-为什么?
(一)我们用来读取Excel文件的库将返回具有空值的任何行的记录,问题是在Excel中打开电子表格,不容易看出一个单元格是空的还是不存在的。
避免此问亚搏在线题的最安全方法是在使用excel时,通过右键单击行号并选择“删除”来确保执行任何数据删除;即。删除行。如果只选择行中的单元格并按delete键,则可能会删除单元格内容,但保留该行不变,这是FME将作为空白记录读取的行。
为了删除这些额外的功能测试仪可以使用。
?2019安全亚搏在线软件公司|合法的