今天讲解一下如何利用power query 将excel 表格数据转化为json格式的数据。由于我先在csdn的博客上写好文章的,所以图片带了我的博客地址水印.忽略就好。
1、先将数据放进power query编辑器下:
2.利用Json.FromValue()将表转化为json格式字符串。不要忘了Json.FromValue()返回的是二进制。需要利用Text.FromBinary()返回字符串结果。
结果我们就看到如上图的结果了。默认返回Unicode编码字符。代码如下:
- let
//读取表格数据到power query
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
//Json.FromValue将table转化为json,文本输出。
res=Text.FromBinary(Json.FromValue(源))
in
res
复制代码 现在我想生成汉字该怎么办呢。利用js的escape函数对unicode编码进行解码。下面是构建一个自定义函数:
- fx=(s as text)=>Web.Page("")[Data]{0}[Children]{0}[Children]{1}[Text]{0}
复制代码 那么我们再回到原来的例子上,看完整的代码:
- let
//读取表格数据到power query
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
//Json.FromValue将table转化为json,文本输出。
res=Text.FromBinary(Json.FromValue(源)),
fx=(s as text)=>Web.Page("")[Data]{0}[Children]{0}[Children]{1}[Text]{0},
//将Unicode编码字符转化为汉字
hz=fx(res)
in
hz
复制代码 得到的结果如下图所示:
好了,that's all
----------------------ending----------------------------- |