你好,
有时我必须合并很多 Excel 文件。 但“导入多个文件”菜单无法正确处理 Excel 文件。 所以我为此写了一个JSL,在这里分享一下。 首先选择一个 Excel 文件并使用 Excel 导入向导将其打开。 然后脚本获取目录中的导入设置和文件列表。 最后,打开目录中的所有excel文件(.xls、xlsx、xlsm)并将它们合并。 最终数据集包含表右端的源文件列。
我希望这个脚本对您的工作有所帮助。 任何反馈将不胜感激!
太感谢了! 一个很棒的脚本,使我能够调查我手头的大量 Excel 文件!
谢谢你的这个脚本。 它工作得很好,只是如果 Excel 文件中存在唯一的选项卡 ID,它就会崩溃。 有没有办法忽略选项卡中的内容?
干杯。
谢谢你!
运行 JSL 脚本后,我按照您的说明选择了一个 excel 文件。 但实际上我不明白”然后脚本获取目录中的导入设置和文件列表。 最后,打开目录中的所有excel文件(.xls、xlsx、xlsm)并将它们合并。” 。 对我来说,它根本不起作用。你能解释一下吗? 我想将 3 个文件合并为一个文件来分析一些数据并制作一些图表等。 谢谢:)
你好@voy-voy ,
感谢您的评论。
我在“scr_head”变量中添加了 2 行用于文件修改日期和时间。
mydate = format(Last Modification Date(fullfile),\!"y/m/d\!");
mytime = format(Last Modification Date(fullfile),\!"h:m:s\!");
然后我在“scr_tail”变量中添加了 2 行,以创建日期和时间列。
dt << New Column(\!"File_Date\!", character, <因此,您将在组合数据表中获得 file_date 和 file_time 列。 我把整个脚本放在这个评论的底部。 我希望它有帮助!
//define err_msg function;
err_msg = Function( {string},
err_win = New Window( "Error",
V List Box(
H List Box(
Icon Box( "Error" ),
Text Box( string, <<SET wrap=""> 1, dt1 << Concatenate(dt, \!"Append to first table\!");
dt << closewindow))";
//concatenate modules;
final_script = scr_head || mysetting || scr_tail;
//run final script;
eval(parse(final_script));</SET>
回复:合并多个Excel文件你好,谢谢@M川口对于 jsl 文件。 这非常有帮助。
是否还可以添加包含文件日期(和时间)的列?
我尝试了一下,但没用。
谢谢您。
回复:合并多个 excel 文件感谢@MKawaguchi提供这个有用的脚本!
还要感谢@students_t提及标签 ID,当脚本仅收集两个文件而不是多个文件时,它帮助我进行了故障排除。
当不同文件中的工作表具有相同的名称时,该脚本对我来说运行良好。
其他具有不同名称的工作表被忽略,这也是我想要的。