iflow cli调用 /docx 和 /xlsx 实现类似word的邮件合并功能,怎么上来第一步就到 /docx的agent目录下写入js了
/docx 和 /xlsx 不是工具吗?不是应该调用工具干活,大不了在根目录下写几个js,怎么上来就去改工具了
还是我对 workflow和subagent 理解的不对?
iflow cli调用 /docx 和 /xlsx 实现类似word的邮件合并功能,怎么上来第一步就到 /docx的agent目录下写入js了
/docx 和 /xlsx 不是工具吗?不是应该调用工具干活,大不了在根目录下写几个js,怎么上来就去改工具了
还是我对 workflow和subagent 理解的不对?
好的一点,这次应该是真用了/docx和/xlsx workflow或者agent ,测试生成的docx文件也做了正确的字段替换,生成的文档数量也够,只是没有保持模板的 格式,感觉是像markdown格式的——虽然文件是docx
要求:请保持模板的排版不变
效果惊喜,真的就实现了,但是就是处理过程有点长、看着在不停的修改py文件
日期、编号、段落处理的不好,日期是一行数字、编码不是2位数字、段落不换行且行首须空2字符
再次要求:文件中的日期使用类似2025年3月11日这样的格式,编号使用2位数字,保留数据中的段落标记(换行)并注意首行缩进2字符
执行结果是日期改了一个、编号改好了、空了2字符但是没有换行
再次要求:空了2字符但是没有换行,还有其他日期没有按照使用类似2025年3月11日这样的格式
这次执行完解决了换行和缩进2字符,这是最大的惊喜,之前这一点在使用Python编程的时候反反复复都不能实现(包括保留下划线都是方法很笨拙),node.js库实现只能是缩进450缇,看起来还是对不齐;唯一遗憾还是有日期格式是一串数字
最后再要求:还有日期是 45625 这样,而不是类似2025年3月8日这样的格式
希望这次能够彻底解决,这个问题反复解决不了,有点意外
这次终于完美解决———-但是依然没有解决,有点意外中的意外!为啥他就是get不到这个点
最最后一次要求:注意不是日期字段而是 “记录周期-起” "记录周期-止"这样的字段还是 45625 这样,而不是类似2025年3月8日这样的日期格式
这次终于……是解决了,都指名道姓了
下一步就是通用化的问题了
总结:超惊喜!![]()
一是终于调用了/docx workflow
二是代码量确实比以前不调用workflow的时候代码量明显少很多
三是能够快速修正(不是指速度快,速度相当慢,指的是不出奇奇怪怪的问题造成反复要求改来改去,还不听的下载库文件)
接下来是 程序的通用化
要求:你成功实现了 监理周报 的生成,下来是实现程序的通用化,当我输入包括文件类型的指令,类似;生成监理月报 ,你就找 名称包含 监理月报 的docx或doc模板文件,然后再找xlsx或者xls的数据文件中包含 监理月报 的工作表,然后批量生成docx文件
执行结果:一步到位!!!
总结:超惊喜,workflow还是比不用workflow强很多!!!
最后我问了iflow cli:帮我分析一下@.iflow/agents/docx/scripts/mail_merge.js @.iflow/agents/docx/scripts/test_mail_merge.js @.iflow/agents/docx/scripts/mail_merge_ooxml.py @.iflow/agents/docx/scripts/universal_mail_merge.py 几个程序文件之间有没有调用关系,是不是都是独立的程序实现,是不是可以删除哪个?
根据iflow cli的分析我搞清楚了他们之间的关系——遇到问题就问iflow cli是个好办法,我以前遇到问题都是都是打开deepseek问一下,但是记得打开plan模式,否则他可能会开始干活——他们是3个不同的程序实现。
得出结论是:
1.@.iflow/agents/docx/scripts/mail_merge.js @.iflow/agents/docx/scripts/test_mail_merge.js 一个是js程序实现,另一个是 测试,但是可能觉得我说的保持 docx的排版不变js做的不好(其实有一个js库是可以实现的)就使用py了;
2.@.iflow/agents/docx/scripts/mail_merge_ooxml.py 是使用py的程序实现,而且实现了我要求的全部功能;
3.在第二部实现全部功能的基础上按我的要求iflow cli实现了程序的通用化,也就是@.iflow/agents/docx/scripts/universal_mail_merge.py
4.然后我就只保留了**@.iflow/agents/docx/scripts/universal_mail_merge.py** ,把其它都放进了新建的back目录,跑了一遍发现功能完整。