#! #! #! #! #! #! #! #! #! #! #! #! #! “xlsx_protect_sheet_password” “xlsx_protect_sheet_permissions” “” #!DEFLINE_ATTRS = “真” #!MexStista角数(宽度,xLSxxCalth-PrpS)FMEA特征型字符串(50)FMEX几何FMEXCHAR(50)XLSXXRASSTL宽度号(宽度,XLSXX-COLYPROPS)FMEX主轴号(宽度,XLSXXCOLYPROPS)FMEX文本大小号(宽度,XLSXXCOLYPROPS)XLSXX-COLLID ID号(宽度,XLSXXCOLYPROPS)FMEYBASENAMY串(50)XLSXYROWID ID号(宽度,Exababel-Atfs=“F.XMLSX-COLYPROPS)FMEY-TYPE串(50)FMEA FILILY色串(50)FMEA旋转数(宽度,XLSXX-COLYPROPS)FMEYBDB操作串(宽度,XLSXX-CYLL PROPS)FMEA SWEP角数(宽度,XLSXX-COLYPROPS)FMEA数据集串(50)FMEA颜色串(50)XLSX-RASSTEL高度号(宽度,XLSXXCLYPROPS)FME2第二轴数(宽度,xlsx_col_props)fme_text_string string(50)xlsx_raster_scale_factor number(width,xlsx_col_props)“!“GUI可选的命名组XLXXY-TabLeLeWr.Server”模式%XLXXFieldFieldNaveSeSuxOx %XLSXY NAMESSYARAY位置%XLSXXROWIOIDION列%XLSXA TunCeNeTeGROUP组%XLSXXTABLE组%XLXXIROWCARNSONNY组%XLSXXPROSTECTIONEL表%XLSXXAdvEngEdEdType组表设置“GUI”可选披露组XLSX-TunCeNeTeGub组xlsx一行一个id%xlsx一个跌跌撞车的工作表一个xlsx一个trunc一个工作表放一个或截一个“gui可选披露组xlsx一行一个或一组xlsx一个或一个或一组xlsx一开始一个或一个或一开始一行%xlsx一行%xlsx一个或一个或一个或一个或一个或一个或一个或一个或一个或一个或一个或一个或一个或一个或一个或一个或一个或一个或一行或一个或一个或一个或一个或一个或一个或一个或一个或一行或一个或一个或一个或一个或一个或一个或一个或一个是的可选的披露组XLSXX-AdvEngEdEx组XLSXX-SHITETHORD顺序%XLSXY FLIZEZEN EXROWRONE XXLSXY RASSTORY类型高级“GUI”选择XLSXXDROPL页是是%不丢弃现有的表/命名范围:“否”GUI选择XLSXXTruntPayes是%.没有截断现有的表/命名范围:“否”GUI可选整数xLSXX-SeEtSeORD表顺序(1 -N):“GUI”可选整数xlsx_freeze_end_row freeze first row(1-n):“”gui choice xlsx_field_names_out yes%no output field names:“yes”gui choice xlsx_names_are_positions yes%no将属性名称用作列位置:“no”gui可选文本xlsx_start_col named range start column:“”gui可选整数xlsx_start_row named range start row:“”gui可选文本xlsx_offset_col start column:“”图形用户界面可选整数xlsx_offset_row start row:“”图形用户界面选项xlsx_raster_type bmp%jpeg%png raster format:“png”图形用户界面可选密码编码xlsx_protect_sheet_密码: “gui activechoice_lookup xlsx_protect_sheet_level选择 只有 权限,prot_default,xlsx_protect_sheet_permissions%查看 只有 权限,prot_all,xlsx_protect_sheet_permissions%特定 权限保护级别:” “GUI可选LOOKUP_LISTBOX xlsx_protect_sheet_permissions选择 锁定 细胞,PROT_SEL_LOCKED_CELLS %选择 解锁 细胞,PROT_SEL_UNLOCKED_CELLS %格式 细胞,PROT_FORMAT_CELLS %格式 列,prot_format_columns%格式 行,prot_format_rows%插入 列,prot_insert_columns%insert 行,prot_insert_rows%insert 超链接,prot_插入超链接%delete 列,prot_delete_columns%delete 行,prot_delete_rows%排序,prot_sort%使用 自动筛选,prot_autofilter%使用 数据透视表 & 数据透视图,prot_pivottables%编辑 对象,prot_objects%编辑 方案,保护方案特定权限:“ “gui activechoice xlsx_table_writer_mode insert,+xlsx_row_id_column+%update,+xlsx_row_id_column+xlsx_row_id%delete,+xlsx_row_id_column+xlsx_row_id writer mode:”insert“gui可选attr xlsx_row_id_column allow_new row number attribute:”“行号属性!”属性索引类型=“”!属性名称无效!支持_feature_type_fanout=“true”!enabled=“true”!动态_feature_types_list_on_merge=“true”!dataset_type=“file”!生成_fme_build_num=“17280”!Coordsys=“”!fanout_group=“否”!fanout_表达式=“”!>#啊! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #!

测试仪

过滤掉不需要的属性(通常是格式属性)

“#!位置=” 6389.51 1286.5" #!TOP_LEFT = “6389.51 1286.5” #!BOTTOM_RIGHT = “6865.52 1028.5” #!BOUNDING_RECT = “6389.51 1286.5 476.01 258.002” #!ORDER = “6” #!FOLLOW_ANCHOR = “真” #!INFO_NODE = “假” #!COLOR = “1,1,0.784314,0.192157” #!SIZE_POLICY = “10” #!COMMENT_TYPE = “规则的” #!ANCHORED_NODE = “8” #!/>#!

将effdt复制到新字段

因为dateformatter覆盖

“#!位置=” 2090.75 1185.5" #!TOP_LEFT = “2090.75 1185.5” #!BOTTOM_RIGHT = “2089.75 1186.5” #!BOUNDING_RECT = “2090.75 1185.5 -1 -1” #!ORDER = “5E + 14” #!FOLLOW_ANCHOR =“真” #!INFO_NODE = “假” #!COLOR = “1,1,0.784314,0.192157” #!SIZE_POLICY = “8” #!COMMENT_TYPE = “常规” #!ANCHORED_NODE = “23” #!/>#!

重新格式化effdt字段

“!position=“2984.01 1162.43”!top_left=“2984.01 1162.43”!底部_right=“2983.01 1163.43”!bounding_rect=“2984.01 1162.43-1-1”!order=“5e+14”!跟随_anchor=“true”!info_node=“false”!colour=“1,1,0.784314,0.192157”!size_policy=“8”!comment_type=“regular”!锚定节点=“16”!/>#啊!

保留重要属性

“!position=“1244.93 1174”!top_left=“1244.93 1174”!底部_right=“1243.93 1175”!bounding_rect=“1244.93 1174-1-1”!order=“5e+14”!跟随_anchor=“true”!info_node=“false”!colour=“1,1,0.784314,0.192157”!size_policy=“8”!comment_type=“regular”!锚定节点=“12”!/>#啊!

计算最大日期

按前提分组

和字符类型

“!position=“3722.56 908.986”!top_left=“3722.56 908.986”!底部_right=“3721.56 909.986”!bounding_rect=“3722.56 908.986-1-1”!order=“5e+14”!跟随_anchor=“true”!info_node=“false”!colour=“1,1,0.784314,0.192157”!size_policy=“8”!comment_type=“regular”!锚定节点=“21”!/>#啊!

聚合器

建立转置

“!position=“7100.61 1370.5”!top_left=“7100.61 1370.5”!底部_right=“7099.61 1371.5”!bounding_rect=“7100.61 1370.5-1-1”!order=“5e+14”!跟随_anchor=“true”!info_node=“false”!colour=“1,1,0.784314,0.192157”!size_policy=“8”!comment_type=“regular”!锚定节点=“41”!/>#啊!

AttributeCreator

使用Excel列名

“!position=“7774.69 1566.5”!top_left=“7774.69 1566.5”!底部_right=“7773.69 1567.5”!bounding_rect=“7774.69 1566.5-1-1”!order=“5e+14”!跟随_anchor=“true”!info_node=“false”!colour=“1,1,0.784314,0.192157”!size_policy=“8”!comment_type=“regular”!锚定节点=“38”!/>#啊!
#! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! 有效期 “/>! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #!
FME_PYTHON_VERSION 27 GUI IGNORE SourceDataset_CSV2_2,CSV2_IN_DATASET_GROUP_CSV2_2,CSV2_IN_FIELDS_GROUP_CSV2_2,CSV2_IN_DELIMITER_CSV2_2,CSV2_IN_FIELD_NAMES_LINE_CSV2_2,CSV2_IN_DATA_START_LINE_CSV2_2,CSV2_IN_ADVANCED_GROUP_CSV2_2,CSV2_IN_FIELD_SEPARATION_GROUP_CSV2_2,CSV2_IN_SKIP_DUPLICATE_DELIMITERS_CSV2_2,CSV2_IN_FIELD_QUALIFIER_CHARACTER_CSV2_2,CSV2_IN_FIELD_QUALIFIER_ESCAPE_CHARACTER_CSV2_2,CSV2_IN_FIELD_NAMES_GROUP_CSV2_2,CSV2_IN_CASE_SENSITIVE_FIELD_NAMES_CSV2_2,CSV2_IN_ENFORCE_STRICT_SCHEMA_CSV2_2,CSV2_IN_FIELD_VALUES_GROUP_CSV2_2,CSV2_IN_TRIM_FIELD_VALUE_QUALIFIERS_CSV2_2,CSV2_IN_ENCODING_GROUP_CSV2_2,CSV2_IN_ENCODING_CSV2_2,CSV2_IN_PRESERVE_SOURCE_ENCODING_CSV2_2,CSV2_IN_SKIPPED_LINES_GROUP_CSV2_2,CSV2_IN_READ_SKIPPED_LINES_CSV2_2,CSV2_IN_SCHEMA_GENERATION_GROUP_CSV2_2,CSV2_IN_EXPOSE_ATTRS_GROUP_CSV2_2,CSV2_IN_NETWORK_AUTHENTICATION_CSV2_2,DestDataset_XLSXW_1,XLSXW_OUT_OVERWRITE_FILE_XLSXW_1,XLSXW_OUT_TEMPLATEFILE_XLSXW_1,TEMPLATE_SHEET_XLSXW_1 DEFAULT_MACRO DestDataset_XLSXW $(FME_MF_DIR)OUTPUT_TEST.xlsx GUI IGNORE FILENAME DestDataset_XLSXW Excel_Files(*.xlsx;*.xlsm;*.xls)|*.xlsx;*.xlsm;*.xls|All_files(*)|* Destination Microsoft Excel File: DEFAULT_MACRO SourceDataset_CSV2_3 $(FME_MF_DIR)SampleForTest_BetterColumnNames.csv GUI IGNORE OPTIONAL MULTIFILE SourceDataset_CSV2_3 CSV/Compressed_CSV/TEXT_Files(*.csv;*.gz;*.txt)|*.csv;*.gz;*.txt|CSV_Files(*.csv)|*.csv|Compressed_CSV_Files(*.gz)|*.gz|Text_Files(*.txt)|*.txt|All_Files|* Source CSV (Comma Separated Value) File(s): INCLUDE [ if {{$(DestDataset_XLSXW)} == {}} { puts_real {Parameter 'DestDataset_XLSXW' must be given a value.};出口1;};]#!START_HEADER#!START_WB_HEADER READER_TYPE CSV2 READER_KEYWORD CSV2_2 READER_GEN_DIRECTIVES FIELD_QUALIFIER_ESCAPE_CHARACTER, 引用 编码,, EXPOSE_ATTRS_GROUP ,, SCAN_TYPES,不,PREVIEW_GROUP ,, FIELD_SEPARATION_GROUP ,, CASE_SENSITIVE_FIELD_NAMES,是的,SKIP_DUPLICATE_DELIMITERS,不,ADVANCED_GROUP ,, SCHEMA_GENERATION_GROUP ,, FIELD_NAMES_GROUP ,, TRIM_FIELD_NAME_QUALIFIERS,是的,分隔符 逗号 ,PREVIEW_PLACEHOLDER ,, DATA_START_LINE,2,SCAN_MAX_ROWS,1000,ENFORCE_STRICT_SCHEMA,不,SKIPPED_LINES_GROUP ,, FEATURE_TYPE_NAME,FORMAT_NAME,TRIM_FIELD_VALUE_QUALIFIERS,是的,SCAN_ADDITIONAL_FIELDS,没有,模式,, READ_SKIPPED_LINES,不,PRESERVE_SOURCE_ENCODING,不,FIELD_QUALIFIER_CHARACTER, 引用 ,csv2\u-expose_-format_-attrs,fields_-group,fields_-merge_-schemas,是,field_-names_-line,1,使用_-custom_-schema,否,编码_-group,schema_-group,field_-value_-group,dataset_-group,writer_-type multi_-writer multi_-writer_-data_-data_-dataset_-id multi_-writer_-writer_-first_-writer_-id 0 multi_-writer_-writer_-multi_-writer_;!结束_wb_header!启动wb_头宏wb_关键字“csv2_2”!结束_wb_header!启动_source_header csv2 csv2_2文件头csv2 csv2 csv2 csv2头csv2 csv2 csv2头csv2头csv2头csv2 csv2头csv头csv2头csv头csv2头csv头csv头csv头csv头csv头csv头csv头csv头csv头csv头csv头csv头csv头csv头csv2.#用户输入存储在宏中,然后宏用于定义要读取的数据集。#生成此映射文件的数据集为:35;!结束源头!启动wb_header default_宏sourcedataset include[如果{{$(sourcedataset)}!=“”}{\puts{default_macro sourcedataset_csv2_2$(sourcedataset)}\}]!结束_wb_header!启动_source_header csv2 csv2_2默认_宏源数据集_csv2_2$(源数据集_csv2_3)图形用户界面多文件源数据集_csv2_2 csv/压缩的_csv/文本文件(.csv;*.gz;*.txt)*.csv;*.gz;*.txt csv csv csv csv csv csv*.gz txt ;所有*源csv(逗号分隔值)文件(s)文件:gui disclosurou dataset中的gui disclosurgroupcsv2 csv2 csv2 csv2 in _数据集中的用户用户csv2 csv2 csv2 groupcsv2 csv2名称csv2_2_功能_类型名称“$(csv2_in_feature_type_name_csv2_2)”gui disclosure group csv2_in_fields_csv2_2 fme_disclosure_open%delimiter%fields_line%data_start_line fields默认的宏csv2_in_delimiter_csv2_2 csv2_2_分隔符“$(csv2_in_分隔符_csv2_2)”gui string_或_choice_encoded csv2_in_分隔符_csv2_2,%;%|%空格%tab分隔符字符%tab分隔符%tab分隔符字符:默认为“宏csv2\u在野外人名_csv2\u 2 1 csv2\u 2 1 csv2\u 2_2_2_2_2_2_2_2_2_2_2_2_2_2_2 1 csv2\u 2_2)“宏csv2\u在野外人名_1 csv2\u 2 1%max%0最大%0字段名称行:默认为“宏csv2.u在野外人名_2 csv2\u 2 csv2\u 2 csv2\u 2 csv2\u 2 1 csv2\u 2_2_2_2_2_2(csv2_in_data_start_line_csv2_2)“图形用户界面范围”滑块CVS2Y-DATAXARTION SARKION CLS2Y2 2 1% MAX 0数据起始行:GUI披露组CV22In AdvAdvEngRePysCV2Y2FMEA披露,关闭%% FieldFieldAccess,组%% FieldFieldNo.Sype组%%字段FieldSub组%%编码,组%% SkopdILL组,%GROUMENTHORATION组,高级GUI披露组CVS2In iFieldSub组CVS2Y2fme_disclosed%skip_duplicate_delimiters%field_qualifier_character%field_qualifier_escape_character field separation default_macro csv2_in_skip_duplicate_delimiters_csv2_2_skip_duplicate_delimiters“$(csv2_in_skip_duplicate_delimiters_csv2_2)”gui choice csv2_in_skip_duplicate_delimiters_csv2_2 yes%no skip duplicate del默认宏csv2_in_field_qualifier_character_csv2_2 csv2_2_field_qualifier_character“$(csv2_in_field_qualifier_character_csv2_2)”gui可选字符串编码csv2_in_field_qualifier_character_csv2_2 field qualifier字符:默认_宏csv2_in_field_qualifier_escape_character_csv2_2 csv2_2_field_qualifier_escape_character“$(csv2_field_qualifier_escape_csv2_2)”gui可选字符串_encoded csv2_in_field_qualifier_escape_csv2_2 field qualifier escape character:gui disclosed%case_sensitive_field_names%enforce_strict_schema字段名默认情况下,在“Trim_-trim_-field_-name_-name_-name_.csv2_.csv2_.csv2 2_.trim_.csv2_.trim_.field_.name_.trim_.interm_.csv2_.csv2_.csv2_.csv22_.csv22_.csv22_.csv2_.csv2_.macro csv2_宏csv2u.csv2_宏csv2u.csv2_宏csv2.csv2_.csv2_.csv2_.csv2_.csv2_.csv2__2)“gui choice csv2_in_case_sensitive_field_names_csv2_2 yes%no case”(图形用户界面选择csv2_区分大小写的字段名称)csv2_2 yes%no case敏感字段名:default_macro csv2_in_enforce_strict_schema_csv2_2 no csv2_2_enforce_strict_schema“$(csv2_in_enforce_strict_schema_csv2_2)”gui choice csv2_in_enforce_strict_schema_csv2_2 yes%no enforce strict schema:gui disclosed group csv2_field values_group_csv2_2 fme_disclosed%trim_field_value_限定符字段值默认情况下,在“Trim\u栏位值”字段中的宏csv2\u宏csv2\u宏csv2\u值的字段是否有值的字段是否有限定符“$(在“Trim\u栏位值”字段中的csv2\u值的字段是否有限定符“$(在“Trim\u值的字段中的csv2\u csv2\u csv2 2)”gui选择在“Trim\u栏位值的字段是否有值的字段是否有限定符2是%否修剪字段限定符字符:gui disclosursurou披露组csv2.csv2.csv2\u宏csv2.csv2\u宏csv2.csv2.csv2\u宏csv2.csv2.csv2.csv2\u源代码编码默认_宏csv2_in_encoding_csv2_2 csv2_2编码“$(csv2_in_encoding_csv2_2)”图形用户界面可选字符串_或编码csv2_in_encoding_csv2_2 system%*字符编码:默认_宏csv2_in_preserve_source_encoding_csv2_2 no csv2_preserve_source编码“$(csv2_preserve_source_encoding_csv2_2)”图形用户界面选择在保存源代码的保存中的csv2\u源代码的保存中的源代码的保存中的源代码的保存中的源代码的保存中的保存中的源代码的保存中的保存中的源代码的保存中的保存中的源代码的保存中的保存中的源代码的保存中的源代码的保存中的源代码的保存中的源代码的保存中的源代码的保存中的被跳过的行的保存中的行的保存中的组csv2\u csv2\u csv2\u读中的宏csv2\u宏csv2\u跳过的行的读取中的宏csv2\u csv2\u csv2.2没有csv2\u 2没有csv2\u读中的被跳过的行的跳过的行的行的保存中的csv2.csv2 U线是的,没有阅读跳过的行:gui disclosursuregroup csv2\u在什么架构中的csv2\u生成什么样的csv2\u在什么架构中生成什么样的数据类型%扫描类型%扫描类型%扫描其他字段架构生成默认的宏csv2\u宏csv2\u在什么样的扫描最大的行数中的csv2\u csv2\u 2 1000 csv2\u 2\u扫描最大的行数“$(csv2\u在什么样的扫描中的csv2\u最大的行数中的csv2\u最大的行数中的csv2.csv2\u默认的宏csv2\u宏csv2\u在什么样的扫描类型中的csv2.csv2.2.csv2.2.csv2无CSv2_2_扫描类型“$(csv2.csv2.u在你的扫描类型中的csv2.csv2.u在你的扫描领域中的宏csv2.u在你的扫描领域中的额外的额外的领域中的csv2.u 2没有csv2.u 2在你的扫描领域中的额外的领域中的csv2.u在你的扫描领域中的额外的领域中的额外的领域中的csv2.u csv2.2)“默认的宏csv2.u宏csv2.u在你的曝光中的csv2.u csv2.csv2.u在你的曝光中的csv2.csv2.u在你的曝光中的宏csv2.csv2.csv2.u在你的曝光中的宏csv2.csv2.u在你的_2)“图形用户界面披露组csv2_in_expose_attrs_group_csv2_2csv2 U U U FORMAT U ATRS架构属性35;年年年年年久35年年年年久年年年年久年年年久的U FORMAT U FORMAT U ATRS架构属性年年年年年年年年年年年年年年久的年久度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度度图形用户界面可选验证器csv2_in_network_authentication_csv2_2“网络身份验证”网络身份验证“网络身份验证类型%n网络身份验证”网络身份验证“网络身份验证”网络身份验证“网络身份验证”网络身份验证“网络身份验证”网络身份验证“网络身份验证”网络身份验证“网络身份验证”网络身份验证“网络身份身份验证”网络身份验证%%%%n=======================默认的宏csv2u中的第二个csv2u宏csv2u在“u属性”中的“u属性”中的“u属性”中的“u属性”中的“u属性”csv2u在“u属性”中的“u属性”中的“u属性”在“u属性”中的“u属性”中的“u属性”在“u属性”中的“u属性”中的“u属性”中正在读取“csv2_2)”csv2_2_数据集“$(sourcedataset_csv2_2)”!结束源头!启动wb_header宏wb_keyword“xlsxw_1”!结束_wb_header!启动_dest_header xlsxw xlsxw_1对于excel,它是文件名。#现在,我们将使用他们生成这个映射文件时所拥有的一切,而不是责备!结束目的地标题!启动wb_header default_宏destdataset include[如果{“$(destdataset)”!=“”}{\puts{default_macro destdataset_xlsxw_1$(destdataset)}}]!结束_wb_header!开始_dest_header xlsxw xlsxw_1默认_宏destdataset_xlsxw_1$(destdataset_xlsxw)gui文件名destdataset_xlsxw_1 excel_文件(.xlsx;*.xlsm;*.xls)*.xlsx;*.xlsm;*.xls|All_files(*)|* Destination Microsoft Excel File: # ============================================================================ # Whether or not to overwrite the file DEFAULT_MACRO XLSXW_OUT_OVERWRITE_FILE_XLSXW_1 No XLSXW_1_OVERWRITE_FILE "$(XLSXW_OUT_OVERWRITE_FILE_XLSXW_1)" GUI ACTIVECHOICE XLSXW_OUT_OVERWRITE_FILE_XLSXW_1 Yes%No,xlsxw_out_templatefile、xlsxw_out_template工作表、xlsxw_out_+templatefile+ 覆盖现有文件:#模板文件选项DEFAULT_MACRO XLSXW_OUT_TEMPLATEFILE_XLSXW_1 XLSXW_1_TEMPLATEFILE “$(XLSXW_OUT_TEMPLATEFILE_XLSXW_1)” GUI可选FILENAME_MUSTEXIST XLSXW_OUT_TEMPLATEFILE_XLSXW_1 Excel_Files(*。XLSX; * XLSM; * XLS)| *的.xlsx; * XLSM; * XLS | Excel_Workbook_2007(*的.xlsx)| *的.xlsx | Excel_Macro_Workbook(* XLSM)| * .XLSM | Excel_Workbook_Pre_2007(* XLS)| * .xls的| All_files(*)| *模板文件:#============================================================================ # Parameters whose values will be percolated to the feature types, but will not # remain as writer level settings # Default to not drop feature type first DEFAULT_MACRO XLSXW_OUT_DROP_TABLE_XLSXW_1 No XLSXW_1_DROP_TABLE "$(XLSXW_OUT_DROP_TABLE_XLSXW_1)" # Default to not truncate feature type first (removeallcelldata,retainformatting/headers,etc.) DEFAULT_MACRO XLSXW_OUT_TRUNCATE_TABLE_XLSXW_1 No XLSXW_1_TRUNCATE_TABLE "$(XLSXW_OUT_TRUNCATE_TABLE_XLSXW_1)" # Default to write out the field names DEFAULT_MACRO XLSXW_OUT_FIELD_NAMES_OUT_XLSXW_1 Yes XLSXW_1_FIELD_NAMES_OUT "$(XLSXW_OUT_FIELD_NAMES_OUT_XLSXW_1)" # Default writer mode DEFAULT_MACRO XLSXW_OUT_WRITER_MODE_XLSXW_1 Insert XLSXW_1_WRITER_MODE "$(XLSXW_OUT_WRITER_MODE_XLSXW_1)" # Default raster writing type DEFAULT_MACRO XLSXW_OUT_RASTER_FORMAT_XLSXW_1 PNG XLSXW_1_RASTER_FORMAT "$(XLSXW_OUT_RASTER_FORMAT_XLSXW_1)" # ============================================================================ # Choose excel file protection mode DEFAULT_MACRO XLSXW_OUT_PROTECT_SHEET_XLSXW_1 NO XLSXW_1_PROTECT_SHEET "$(XLSXW_OUT_PROTECT_SHEET_XLSXW_1)" # Whether or not to enable sheet password protection DEFAULT_MACRO XLSXW_OUT_PROTECT_SHEET_PASSWORD_XLSXW_1 XLSXW_1_PROTECT_SHEET_PASSWORD哪种保护级别DEFAULT_MACRO XLSXW_OUT_PROTECT_SHEET_LEVEL_XLSXW_1的 “$(XLSXW_OUT_PROTECT_SHEET_PASSWORD_XLSXW_1)” # XLSXW_1_PROTECT_SHEET_LEVEL“$(XLSXW_OUT_PROTECT_SHEET_LEVEL_XLSXW_1)”#哪种特定的权限将被启用DEFAULT_MACRO XLSXW_OUT_PROTECT_SHEET_PERMISSIONS_XLSXW_1 XLSXW_1_PROTECT_SHEET_PERMISSIONS “$(XLSXW_OUT_PROTECT_SHEET_PERMISSIONS_XLSXW_1)” #============================================================================ # Opt in for destination dataset type vs format type validation DEFAULT_MACRO XLSXW_OUT_DESTINATION_DATASETTYPE_VALIDATION_XLSXW_1 Yes XLSXW_1_DESTINATION_DATASETTYPE_VALIDATION "$(XLSXW_OUT_DESTINATION_DATASETTYPE_VALIDATION_XLSXW_1)" # Add a new text field for the navigation tree in WB.在BUG51426更多细节。DEFAULT_MACRO TEMPLATE_SHEET_XLSXW_1 GUI可选TEXT TEMPLATE_SHEET_XLSXW_1模板页:XLSXW_1_TEMPLATE_SHEET “$(TEMPLATE_SHEET_XLSXW_1)” XLSXW_1_DATASET “$(DestDataset_XLSXW_1)” #!结束目的地标题!START_WB_HEADER#!结束_wb_header!END_HEADER LOG_FILENAME “$(FME_MF_DIR)SortingCharTable_FMEKnowledgebase.log” LOG_APPEND NO LOG_MAX_FEATURES 200 LOG_MAX_RECORDED_FEATURES 200 FME_REPROJECTION_ENGINE FME FME_IMPLICIT_CSMAP_REPROJECTION_MODE自动FME_GEOMETRY_HANDLING增强FME_STROKE_MAX_DEVIATION 0 LOG_TIMINGS是LOG_FILTER_MASK -1 DEFAULT_MACRO DATASET_KEYWORD_CSV2_2 CSV2_2 DEFAULT_MACRO DATASET_KEYWORD_XLSXW_1 XLSXW_1#------------------------------------------------------------------------- CSV2_2_READER_META_ATTRIBUTES fme_feature_type # ------------------------------------------------------------------------- MULTI_READER_CONTINUE_ON_READER_FAILURE No # ------------------------------------------------------------------------- MACRO WORKSPACE_NAME SortingCharTable_FMEKnowledgebase MACRO FME_VIEWER_APP fmedatainspector # ------------------------------------------------------------------------- CSV2_2_DEF CSV fme_attribute_reading defined CHAR_VAL string EFFDT string VERSION string CHAR_VAL_FK1 string CHAR_VAL_FK2 string CHAR_VAL_FK3 string CHAR_VAL_FK4 string CHAR_VAL_FK5 string PREMISE_ID string CHAR_TYPE string CHAR_VALUE string # ------------------------------------------------------------------------- FACTORY_DEF * RoutingFactory FACTORY_NAME "Router and Unexpected Input Remover" COMMAND_PARM_EVALUATION SINGLE_PASS MULTI_READER_KEYWORD CSV2_2 INPUT FEATURE_TYPE * ROUTE CSV2 CSV2_2::CSV TO FME_GENERIC ::CSV ALIAS_GEOMETRY MERGE_INPUT Yes OUTPUT ROUTED FEATURE_TYPE * CSV2_2_MERGE_DEF CSV2_2::CSV EXACT CSV # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "CSV (CSV2_2) Splitter" INPUT FEATURE_TYPE CSV OUTPUT FEATURE_TYPE CSV_CSV2_2 DEFAULT_MACRO WB_CURRENT_CONTEXT # ------------------------------------------------------------------------- INCLUDE [ set macroLine "MACRO AttributeKeeper_582cf86a_d680_4041_8c32_406d57730e5a22_LIST_EXP ";的foreach ATTR [分裂 “”] {集ATTR [FME_DecodeText $ ATTR];设置attr[regsub{}$“$attr{}.*”];设置attr (regsub——“{}”美元attr”\ \ {\ [0 - 9 \] + \ \} ");附加macroLine”^ attr美元”;};把macroLine美元;]FACTORY_DEF * TeeFactory FACTORY_NAME AttributeKeeper输入FEATURE_TYPE CSV_CSV2_2输出FEATURE_TYPE AttributeKeeper_OUTPUT @KeepAttributes (fme_encoded、EFFDT CHAR_TYPE, CHAR_VALUE, PREMISE_ID, fme_pcre_match,“^ fme_美元(AttributeKeeper_582cf86a_d680_4041_8c32_406d57730e5a22_LIST_EXP)”) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator输入FEATURE_TYPE AttributeKeeper_OUTPUT MULTI_FEATURE_MODE NULL_ATTR_MODENO_OP attrset_create__propagate_missing_fdiv ATTR_ACTION "" "ORIG_EFFDT" "SET_TO" " 有效期 “输出输出FEATURE_TYPE AttributeCreator_OUTPUT # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tcl2 proc DateFormatter_formatter {invalidValue}{设置dateFormat {Y % m % d %};如果{[string compare $dateFormat {FME Date/Time (%Y%m%d%H% m% S)}] == 0} {set dateFormat {%Y%m%d%H% m% S};{[string compare $dateFormat {FME Date (%Y%m%d)}] == 0} {set dateFormat {%Y%m%d};} elseif {[string compare $dateFormat {FME Time (%H%M%S)}] == 0} {set dateFormat {%H%M%S};} elseif { [string compare $dateFormat {ISO Date (%Y-%m-%d)}] == 0} { set dateFormat {%Y-%m-%d}; } elseif { [string compare $dateFormat {ISO DateTime (%Y-%m-%dT%H:%M:%S)}] == 0} { set dateFormat {%Y-%m-%dT%H:%M:%S}; } elseif { [string compare $dateFormat {ISO Time (%H:%M:%S)}] == 0} { set dateFormat {%H:%M:%S}; } elseif { [string compare $dateFormat {Locale Date (%c)}] == 0} { set dateFormat {%c}; }; set attrs [split {EFFDT} {,}]; foreach attr $attrs { set date [string trim [FME_GetAttribute $attr]]; set comment { Don't touch NULL or empty attribute values }; if { [string length $date] == 0 } { continue; }; set srcfmt {}; if {{FME_AUTOMATIC} != {FME_AUTOMATIC}} { set srcfmt {FME_AUTOMATIC}; } else { set comment { In Automatic mode we ignore the millisecond part }; regexp {^[^.]*} $date date; set comment { Treat single char as invalid date }; if { [regexp {^.$} $date] } { set date {}; }; }; set comment { An empty $date at this point is invalid, so don't process further }; set dateLen [string length $date]; if {$dateLen > 0} { if {[string length $srcfmt] == 0} { set attrFull $attr; append attrFull .full; set fullDate [FME_GetAttribute $attrFull]; if { [string compare -length $dateLen $date $fullDate] == 0 } { set extra [string range $fullDate $dateLen end]000000; set date [string range \"$date$extra\" 0 13]; set dateLen 14 }; if {($dateLen == 14) && [regexp {^[0-9]*$} $date]} { set srcfmt %Y%m%d%H%M%S; }; }; set sourceFormatOpt {}; if {[string length $srcfmt] > 0} { set sourceFormatOpt \"-format {$srcfmt}\"; }; set comment { Compute the output value and catch any errors }; set error [catch { set seconds [eval clock scan "{$date}" $sourceFormatOpt]; set output [clock format $seconds -format $dateFormat]; }]; set comment { If there was error then we try again by removing digits after last decimal }; if { $error != 0 } { set index [string last "." $date]; if { $index > 0 } { set date [eval string range $date 0 [expr $index-1]]; set dateLen [string length $date]; set error [catch { set seconds [eval clock scan "{$date}" $sourceFormatOpt]; set output [clock format $seconds -format $dateFormat]; }]; }; }; if { $error == 0 } { FME_SetAttribute $attr $output; }; }; if { (0 == $dateLen) || ($error != 0) } { if { $invalidValue == {FME_NULL_VALUE} } { FME_SetAttributeNull $attr; } elseif { $invalidValue != {_FME_NO_OP_} } { FME_SetAttribute $attr [FME_DecodeText $invalidValue]; }; }; }; } FACTORY_DEF * TeeFactory FACTORY_NAME DateFormatter INPUT FEATURE_TYPE AttributeCreator_OUTPUT OUTPUT FEATURE_TYPE DateFormatter_OUTPUT @Tcl2("DateFormatter_formatter {_FME_NO_OP_}") FACTORY_DEF * TeeFactory FACTORY_NAME "DateFormatter OUTPUT Splitter" INPUT FEATURE_TYPE DateFormatter_OUTPUT OUTPUT FEATURE_TYPE DateFormatter_OUTPUT_0_YpfMlOcsqbc= OUTPUT FEATURE_TYPE DateFormatter_OUTPUT_1_eCGJRU9ZN8Y= # ------------------------------------------------------------------------- DEFAULT_MACRO __StatisticsCalculator_6f36f4d4_39ca_4a5d_95e7_0e1b40bb805d22_GROUP_BY MACRO __StatisticsCalculator_6f36f4d4_39ca_4a5d_95e7_0e1b40bb805d22_GROUP_BY CHAR_TYPE PREMISE_ID DYNAMIC_FUNCTION_CONFIGURATION Python FMEOBJECTS DYNAMIC_FUNCTION_CONFIGURATION Python import StatisticsCalculator DYNAMIC_FUNCTION_CONFIGURATION Python "StatisticsCalculator.connectTransformer( 'StatisticsCalculator',{ 'GROUP_BY_MACRO':'__StatisticsCalculator_6f36f4d4_39ca_4a5d_95e7_0e1b40bb805d22_GROUP_BY', 'GROUP_BY':'CHAR_TYPE PREMISE_ID', 'STATS_ATTRS':'EFFDT', 'MAX_ATTR':'_max', 'COMPUTE_HISTOGRAM':'NO', 'HISTO_ATTR':' “,”prepend_attr_name':”no“,”encoded_result_attrs':true,none:none})“factory_def*teefactory factory_name statistics calculator_inputprocessor inputprocessor inputprocessor inputprocessor inputprocessor inputprocessort_type dateformatter_output_0_ypfmlocsqbc=output feature_type_uuuuu统计计算器)工厂定义*工厂名称统计计算器不需要输入输入特性输入特性输入特性输入特性输入特性输入特性未使用输入保证工厂不消耗一切统计计算器_summarycreator create_at_end number_to_create 1 output feature_type statistics calculator_summary factory_def*elementfactory factory_name statistics calculator _summaryexploder list_name statistics calculator{}mode lean_and_mean clone_geometry无输入功能_type_未使用的“输入”到“保证工厂”不会“消耗”所有的“输入”功能“类型统计计算器”摘要@python(统计计算器。摘要统计计算器,统计计算器,_单个“guy”输出元素功能“类型统计计算器”摘要“如果{attributes}={attributes}}{puts“宏功能合并参考信息属性”;}elseif{{attributes}={geom构建}&{ }={polygons}{放置“宏特性合并参考信息几何构建多边形”;}elseif{{attributes}={geom_build}&{ }={aggregates}{放入“宏特性合并参考geom构建aggregates”;}elseif{{attributes}={geom_build}&{ }={lines from points}{输入“宏特性合并参考信息geom构建线”;}elseif{{attributes}={geom\u和{attrs}&&{ }={polygons}{放置“宏特性合并参考geom和build poly”;}elseif{{attributes}={geom\u和{attrs}&&{ }={aggregates}{将“宏特性合并参考geom和构建aggregates”;}elseif{{attributes}={geom\u和{attrs}&&{ }={lines from points}{将“宏功能合并参考geom和attr构建line”;}elseif{{attributes}={geom构建}{}elseif{{attributes}={geom_and_attrs}{将“宏特性合并参考信息geom_and_attr_build_聚合”;}其他{};]factory_def{*}referencefactory_name featuremerger input referencer feature_type dateformatter_output_1_ecgjru9zn8y=输入引用e feature_type statistics calculator_summary reference_info$(featuremerger参考信息)reference_table@evaluatexpression(fdiv,字符串编码, 字符类型 ,FeatureMerger)@EvaluateExpression(FDIV,字符串编码, 字符类型 ,featuremerger)auto@evaluateexpression(fdiv,字符串编码, 有效期 ,FeatureMerger)@EvaluateExpression(FDIV,字符串编码, _最大值 ,featuremerger)auto attr_accum_mode“handle_conflict”attr_conflict_res“requestor_conflict”ignore_nulls“no”handle_null_missing_keys_fme2013 no list_attrs_to_include{ }列表属性到包含模式 merge_attributes yes manage_fme_type yes mode complete process_duplicate_references no references_first no reject_invalid_geom yes output complete feature_type feature merged_merged包含[设置宏行]宏属性Keeper_2_377062d1_50ad_4c90_879f_bd409ff37fc220_list_exp“;的foreach ATTR [分裂 “”] {集ATTR [FME_DecodeText $ ATTR];设置attr[regsub{}$“$attr{}.*”];设置attr (regsub——“{}”美元attr”\ \ {\ [0 - 9 \] + \ \} ");附加macroLine”^ attr美元”;};把macroLine美元;] FACTORY_DEF * TeeFactory FACTORY_NAME AttributeKeeper_2 INPUT FEATURE_TYPE FeatureMerger_MERGED输出FEATURE_TYPE AttributeKeeper_2_OUTPUT @KeepAttributes(fme_encoded,CHAR_TYPE,CHAR_VALUE,PREMISE_ID,fme_pcre_match, “^ _ FME $(AttributeKeeper_2_377062d1_50ad_4c90_879f_bd409ff37fc220_LIST_EXP)”)#------------------------------------------------------------------------- FACTORY_DEF * AttributeFactory FACTORY_NAME AttributeExploder INPUT FEATURE_TYPE AttributeKeeper_2_OUTPUT ATTR_NAME_LABEL "_attr_name" ATTR_VALUE_LABEL "_attr_value" KEEP_GEOMETRY No KEEP_ATTRIBUTES No EXPLODING_TYPE EXPLODE_AS_FEATURES LIST_NAME " {}”输出部件分解FEATURE_TYPE AttributeExploder_OUTPUT#------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME Tester_2 INPUT FEATURE_TYPE AttributeExploder_OUTPUT TEST @EvaluateExpression(FDIV,STRING_ENCODED, _attr_name ,Tester_2)NOT_BEGINS_WITH fme_ ENCODED TEST @EvaluateExpression(FDIV,STRING_ENCODED, _attr_name ,Tester_2)NOT_BEGINS_WITH multi_reader_ ENCODED TEST @EvaluateExpression(FDIV,STRING_ENCODED, _attr_name ,Tester_2)NOT_BEGINS_WITH xlsx_ ENCODED TEST @EvaluateExpression(FDIV,STRING_ENCODED, _attr_name ,Tester_2)NOT_BEGINS_WITH _MAX ENCODED BOOLEAN_OPERATOR和输出PASSED FEATURE_TYPE Tester_2_PASSED#------------------------------------------------------------------------- DEFAULT_MACRO Aggregator_2_BREAK_ATTR有[如果{ “否” == “是”} {puts {MACRO Aggregator_2_BREAK_ATTR BREAK_BEFORE_FIELD_CHANGE _attr_name} }] FACTORY_DEF * AggregateFactory FACTORY_NAME Aggregator_2 INPUT FEATURE_TYPE Tester_2_PASSED MODE ONE_LEVEL GROUP_BY _attr_name $(Aggregator_2_BREAK_ATTR) REMOVE_GEOMETRY YES ACCUMULATE_ATTRIBUTES Yes LIST_NAME "attrs{}" SEPARATOR 产出的总FEATURE_TYPE Aggregator_2_AGGREGATE#------------------------------------------------------------------------- FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_2 ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV INPUT FEATURE_TYPE Aggregator_2_AGGREGATE ATTR A _attr_value ATTR乙 ATTRS 4 ._attr_value ATTRç ATTRS 1 ._attr_value ATTRð ATTRS 2 ._attr_value ATTRè ATTRS 3 ._attr_value ATTR˚F ATTRS ._attr_value 输出输出FEATURE_TYPE AttributeCreator_2_OUTPUT#-------------------------------------------------------------------------#创建域名,这个变压器将使用。#因为@count本身将evalute表达式计算#域,我们不需要做任何事情在Tcl的每个功能要由有[设置domainPrefix {};如果{{全球} == {本地}} {设定domainPrefix [FME_EncodeText {Counter_}];};提出 “宏观Counter_FULL_DOMAIN $ {} domainPrefix柜台”;] FACTORY_DEF * TeeFactory FACTORY_NAME Counter_Counter INPUT FEATURE_TYPE AttributeCreator_2_OUTPUT @RenameAttributes(FME_STRICT,___ fme_rejection_code ___,fme_rejection_code)输出FEATURE_TYPE ___TOREJECTOR___ “_count” @count(抛弃,fme_encoded,$(Counter_FULL_DOMAIN), “0”)FACTORY_DEF * TestFactory中FACTORY_NAME Counter_Rejector INPUT FEATURE_TYPE ___TOREJECTOR___ TEST @值(fme_rejection_code)!= “” 的Passed FEATURE_TYPE Counter_ @RemoveAttributes(___ fme_rejection_code___)OUTPUT失败FEATURE_TYPE Counter_OUTPUT @RenameAttributes(FME_STRICT,fme_rejection_code,___ fme_rejection_code___)FACTORY_DEF * TeeFactory FACTORY_NAME“计数器 输出Nuker” INPUT FEATURE_TYPE Counter_ #------------------------------------------------------------------------- FACTORY_DEF * SortFactory FACTORY_NAME Sorter_2 INPUT FEATURE_TYPE Counter_OUTPUT SORT_BY _count ALPHA DESCENDING OUTPUT SORTED FEATURE_TYPE Sorter_2_SORTED # ------------------------------------------------------------------------- FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator" COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE * ROUTE FME_GENERIC Sorter_2_SORTED TO XLSXW __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0, SupplyAttributes ENCODED __wb_out_feat_type__ 表一 GEOMETRY FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__输出连FEATURE_TYPE * OUTPUT NOT_ROUTED FEATURE_TYPE __nuke_me__ @ TCL2( “FME_StatMessage 818059 [FME_GetAttribute fme_template_feature_type] 818060 818061 fme_warn”)#------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "Final Output Nuker" INPUT FEATURE_TYPE __nuke_me__ # ------------------------------------------------------------------------- XLSXW_1_DEF Sheet1 xlsx_drop_sheet No xlsx_trunc_sheet Yes xlsx_sheet_order "" xlsx_freeze_end_row "" xlsx_names_are_positions Yes xlsx_field_names_out No xlsx_start_col "" xlsx_start_row "" xlsx_offset_col "" xlsx_offset_row "" xlsx_raster_type PNG xlsx_table_writer_mode Insert xlsx_row_id_column "" xlsx_protect_sheet NO xlsx_protect_sheet_level xlsx_protect_sheet_password xlsx_protect_sheet_permissions a自动(20版 1 number_format_string 字形 字体颜色 背景颜色 pattern_color pattern_style text_alignment 没有 水平对齐 垂直对齐 缩进 text_orientation text_control cell_protection 没有 hide_cells lock_cells )乙汽车(20,版本 1 number_format_string 字形 字体颜色 背景颜色 pattern_color pattern_style text_alignment 没有 水平对齐 垂直对齐 缩进 text_orientation text_control cell_protection 没有 hide_cells lock_cells )C汽车(20,版本 1 number_format_string 字形 字体颜色 背景颜色 pattern_color pattern_style text_alignment 没有 水平对齐 垂直对齐 缩进 text_orientation text_control cell_protection 没有 hide_cells lock_cells )D-汽车(20,版本 1 number_format_string 字形 字体颜色 背景颜色 pattern_color pattern_style text_alignment 没有 水平对齐 垂直对齐 缩进 text_orientation text_control cell_protection 没有 hide_cells lock_cells )E自动(20版 1 number_format_string 字形 字体颜色 背景颜色 pattern_color pattern_style text_alignment 没有 水平对齐 垂直对齐 缩进 text_orientation text_control cell_protection 没有 hide_cells lock_cells )F自动(20版 1 number_format_string 字形 字体颜色 背景颜色 pattern_color pattern_style text_alignment 没有 水平对齐 垂直对齐 缩进 text_orientation text_control cell_protection 没有 hide_cells lock_cells