打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
成功解决Excel表格数据转xml(element or attribute)
在无聊与繁忙中接到一个活,虽然与工作无关,却充满乐趣!

财务与地税对账,公司目前核心系统不支持导出数据为XML格式,只能导出Excel表,而地税的对账格式是xml,令人恼火的是,这个xml格式却全部使用attribute而非element,如下:

<?xml version="1.0" encoding="GBK"?>
<ROWS>
<ROW attri1="" attri2 ="" attri3 ="" attri4 =""attri5 ="" attri6 ="" attri7 ="" attri8 ="" attri9 ="" attri10 =""attri11 ="" attri12 ="" />
</ROWS>

最初的办法是直接另存为xml,但结果非常不理想,不是自己想要的格式,手动修改更是“二万五千里”,非人力所有为。

然后在网上狂找,接触到一个Excel xmladdin,看到了希望,按照提示下载文件“XmlTools.xla”,安装后在加载项里找到了XML Tools,虽是英文版,但不成问题,下拉菜单第一个选项就是导出xml功能,可谓功能强大,还能自动生成schema并保存。但导出的xml格式为element样式的,如下:

<ROW>
 <item1>#</item1> 
 <item2>#</item2> 
 <item3>#</item3> 
</ROW>

想要的是attribute而得到的却是element,郁闷!接下来继续寻找addin,结果没找到,上面的样式多么清晰、美观,地税怎么就不用?非得搞成attribute的?

继续在网上疯狂google,突然找到一篇文章,如久旱之甘淋,荒漠之绿洲,自己感觉是有戏了。思路与之前有些相似,但映射的不是schema,而是xml文件,但之前要先写好这个xml,确实就是前面写的那个attribute的xml,但必须有两行,既:

<?xml version="1.0" encoding="GBK"?>
<ROWS>
<ROW attri1=""  attri2 ="" attri3 =""  attri4 ="" attri5 =""  attri6 ="" attri7 =""  attri8 ="" attri9 =""  attri10 ="" attri11 =""  attri12 =""/>
<ROW attri1=""  attri2 ="" attri3 =""  attri4 ="" attri5 =""  attri6 ="" attri7 =""  attri8 ="" attri9 =""  attri10 ="" attri11 =""  attri12 =""/> 
</ROWS>

属性的个数就是对应你表格列的数量,当加载这个文件之后,就可以进行匹配工作了,在开发工具里的xml窗格里点“源”,在程序右侧显示xml源边栏,添加映射后会显示相应的字段,你所要做的就是将字段拖拽至左侧数据表中对应列的标题头上,如果你的数据标题行是第一行,那么drag到对应的列就行,当drop后这个列会被默认选中,其他的列以此类推,还有一种更快的办法就是选中根字段(就是文件夹样式的那个图标),drag到第一列的标题头上就省略了每列都drag和drop的繁琐,当然这样做可能会报错,但从结果看没什么区别(需测试证实)。最后选xml窗格里的导出就OK了!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
怎么将多个具有相同模板的excel表格汇总成一个?
Excel超实用小技巧:简单合并多个表格内容!告别小白!
使用Excel导出XML格式文件
WinForm开发中,将Excel文件导入到DataGridView中时,获取Excel中所有表格的名称。 .
用js来实现导出数据到Excel
about Excel
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服