|
|
发表于 2025-8-22 17:13:39
|
显示全部楼层
山东省济宁市
| 窗口程序集名 | 保 留 | 保 留 | 备 注 | | 程序集1 | | | | | 变量名 | 类 型 | 数组 | 备 注 | | Excel应用 | Excel程序 | | | 工作簿 | Excel工作簿 | |
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 表A路径 | 文本型 | | | | 表B路径 | 文本型 | | | | 输出路径 | 文本型 | | | | 匹配结果 | 文本型 | | |
表A路径 = "C:\表A.xlsx" 表B路径 = "C:\表B.csv" 输出路径 = "C:\匹配结果.xlsx" 匹配结果 = VLOOKUP匹配 (表A路径, 表B路径 ) 如果真 (匹配结果 ≠ "" ) Excel写出结果 (匹配结果, 输出路径 ) 返回 (0 )|
| VLOOKUP匹配 | 文本型 | | |
| 表A路径 | 文本型 | | | | 表B路径 | 文本型 | | | |
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 表A数据 | 文本型 | | 0" ' 二维数组存储表A | | 表B数据 | 文本型 | | 0" ' 二维数组存储表B | | 匹配结果 | 文本型 | | | | i | 整数型 | | | | j | 整数型 | | |
Excel应用. 创建 ()工作簿 = Excel应用.工作簿. 打开 (表A路径 ) 计次循环首 (工作簿.表格数量, i ) .局部变量 当前表, Excel表格  当前表 = 工作簿.表格. 取表格 (i )  .局部变量 行数, 整数型  .局部变量 列数, 整数型  行数 = 当前表. 取行数 () 列数 = 当前表. 取列数 () 重定义数组 (表A数据, 假, 行数, 列数 )  计次循环首 (行数, i )  计次循环首 (列数, j )   表A数据 [i ] [j ] = 当前表. 取单元格文本 (i, j )  计次循环尾 () 计次循环尾 () 计次循环尾 ()工作簿. 关闭 ()Excel应用. 退出 () | 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 文件号 | 整数型 | | | | 行文本 | 文本型 | | |
文件号 = 打开文件 (表B路径, #读入, ) 如果真 (文件号 ≠ 0 ) .局部变量 行索引, 整数型  行索引 = 1   判断循环首 (是否在文件尾 (文件号, ) = 假) 读入一行 (文件号, 行文本 )  .局部变量 列数组, 文本型, , "0"   列数组 = 分割文本 (行文本, ",", )    重定义数组 (表B数据, 假, 行索引, 取数组下标 (列数组, ))     计次循环首 (取数组下标 (列数组, ), j )   表B数据 [行索引 ] [j ] = 列数组 [j ]  计次循环尾 ()    行索引 = 行索引 + 1  判断循环尾 () 关闭文件 (文件号 ) 匹配结果 = "" 计次循环首 (取数组下标 (表A数据, 1 ), i ) 如果真 (i = 1 )  到循环尾 ()  .局部变量 查找值, 文本型  查找值 = 表A数据 [i ] [1 ]   .局部变量 找到标志, 逻辑型  找到标志 = 假   计次循环首 (取数组下标 (表B数据, 1 ), j )  如果真 (j = 1 )   到循环尾 ()    如果 (表B数据 [j ] [1 ] = 查找值 )   匹配结果 = 匹配结果 + 表A数据 [i ] [1 ] + "," + 表A数据 [i ] [2 ] + "," + 表A数据 [i ] [3 ] + "," + 表B数据 [j ] [3 ] + #换行符    找到标志 = 真   跳出循环 ()    计次循环尾 ()  如果真 (找到标志 = 假)  匹配结果 = 匹配结果 + 表A数据 [i ] [1 ] + "," + 表A数据 [i ] [2 ] + "," + 表A数据 [i ] [3 ] + ",未找到匹配项" + #换行符  计次循环尾 ()返回 (匹配结果 )| 变量名 | 类 型 | 静态 | 数组 | 备 注 | | 结果数组 | 文本型 | | 0 | | 行数组 | 文本型 | | 0 | | i | 整数型 | | |
Excel应用. 创建 ()工作簿 = Excel应用.工作簿. 添加 ()新表 = 工作簿.表格. 添加 () 新表. 置单元格文本 (1, 1, "A列" )新表. 置单元格文本 (1, 2, "B列" )新表. 置单元格文本 (1, 3, "C列" )新表. 置单元格文本 (1, 4, "匹配结果" )结果数组 = 分割文本 (结果数据, #换行符, ) 计次循环首 (取数组下标 (结果数组, ), i ) 如果真 (结果数组 [i ] = "" ) 到循环尾 ()  行数组 = 分割文本 (结果数组 [i ], ",", ) 如果真 (取数组下标 (行数组, ) ≥ 4 )  新表. 置单元格文本 (i + 1, 1, 行数组 [1 ])  新表. 置单元格文本 (i + 1, 2, 行数组 [2 ])  新表. 置单元格文本 (i + 1, 3, 行数组 [3 ])  新表. 置单元格文本 (i + 1, 4, 行数组 [4 ]) 计次循环尾 ()工作簿. 保存 (输出路径 )工作簿. 关闭 ()Excel应用. 退出 ()
|
|