通过Data->From Text/CSV将CSV导入Excel时,能否自动应用Power Query设置的列格式?
通过Data->From Text/CSV将CSV导入Excel时,能否自动应用Power Query设置的列格式?
当然可以!我之前也遇到过一模一样的问题——Power Query里明明已经把Currency.Type、Percentage.Type这些数据类型都设好了,结果加载到Excel里全变成「常规」格式,手动给几十列改格式真的超级麻烦。结合你导入多个CSV的场景,给你几个实用的解决方法,亲测有效:
方法一:在Power Query编辑器里直接设置显示格式(最推荐)
你之前只是定义了数据类型,但Power Query的「数据类型」和「显示格式」是两个独立的设置。要让Excel继承格式,得额外设置列的显示格式:- 选中需要调整的列(比如所有百分比列,可以按住Ctrl批量选中)
- 点击顶部菜单栏的「开始」→「格式」,选择对应的格式:
- 百分比列选「百分比」,还能按需设置小数位数
- 货币列选「货币」,选择你需要的货币符号(比如$)
- 设置完成后关闭并加载,Excel里的列就会自动应用你在Power Query里设置的格式,不用再手动调整!
方法二:调整加载属性,保留源格式
如果已经完成了数据类型的设置,不想再修改Power Query的步骤,可以在加载时调整属性:- 点击Power Query编辑器里「关闭并加载」旁边的下拉箭头,选择「关闭并加载到」
- 在弹出的对话框中选择「表」,然后点击右下角的「属性」
- 勾选「保留源格式」,确认后再加载,Excel就会保留Power Query里的格式显示了
方法三:对已加载的查询批量修改
像你这种已经导入多个CSV到同一个 workbook 的情况,一个个重新加载太费时间,可以批量操作:- 点击Excel菜单栏的「数据」→「查询和连接」,打开侧边栏
- 按住Ctrl选中所有需要修改的查询
- 右键选中的查询,选择「加载到」,重复方法二的步骤勾选「保留源格式」,重新加载后所有表格都会自动应用格式
如果你熟悉Power Query的M代码,也可以直接在高级编辑器里添加格式设置,比如给百分比列添加:
= Table.TransformColumns(源, {{"ROR", each Number.ToText(_, "0.00%"), type text}, {"MaxDD", each Number.ToText(_, "0.00%"), type text}})
不过这种方法需要一定的M代码基础,前面的可视化操作对大多数人来说更友好。
备注:内容来源于stack exchange,提问作者Scott
相关产品推荐
相关产品推荐

