在无聊与繁忙中接到一个活,虽然与工作无关,却充满乐趣!
财务与地税对账,公司目前核心系统不支持导出数据为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了!
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。