如何在Power Automate中实现Excel的“另存为Unicode”(UTF-16 LE)功能?
在Power Automate中生成带BOM的UTF-16 LE编码TXT文件(复刻Excel“另存为Unicode”)
你之前的尝试无效,核心原因是直接拼接字符串形式的BOM后,Power Automate保存文件时会默认将整个内容按UTF-8编码输出,导致你添加的%FF%FE被转成UTF-8字节,而非真正的UTF-16 LE BOM。要实现目标,必须直接操作二进制数据,步骤如下:
生成UTF-16 LE的BOM二进制
用Compose动作,输入以下表达式获取BOM的二进制值:hexToBinary('FFFE')将Excel返回的文本转成UTF-16 LE二进制
添加「Convert text to binary」动作:- 「Text」选择你的Excel文本内容(比如
outputs('Compose_Excel_Content')) - 「Encoding」选择
Unicode (UTF-16 LE)
- 「Text」选择你的Excel文本内容(比如
拼接BOM与内容二进制
再添加一个Compose动作,用表达式拼接BOM和转换后的内容:concat(outputs('Compose_BOM'), outputs('Convert_text_to_binary'))保存为TXT文件
使用「Create file」动作,将「File content」设置为上一步拼接后的二进制输出,文件名设为你需要的名称(如output.txt)。
这样生成的文件会带有UTF-16 LE的BOM(FF FE),Notepad++会正确识别为UTF-16 LE编码,和Excel「另存为Unicode」的效果一致。
内容的提问来源于stack exchange,提问作者Joseph
相关产品推荐
相关产品推荐

