使用Excel导出XML格式文件Word文件下载.docx
- 文档编号:14214606
- 上传时间:2022-10-20
- 格式:DOCX
- 页数:5
- 大小:17.37KB
使用Excel导出XML格式文件Word文件下载.docx
《使用Excel导出XML格式文件Word文件下载.docx》由会员分享,可在线阅读,更多相关《使用Excel导出XML格式文件Word文件下载.docx(5页珍藏版)》请在冰豆网上搜索。
/>
可以很容易发现第一种描述更简洁,看起来有点小清新的感觉,我们现在就以第一种格式来介绍生成XML的方法。
不过你真的很喜欢第二种方式,看到最后你惊喜地发现,我的方法也可解决你的问题。
现在回归正题,如果用Excel去录入这些数据,大家很可能是这样来做数据,这样做很容易理解,并且容易批量拖拽处理。
到这里我们可以发现,其实Excel可以完全把我们的数据描述清楚,那么如果Excel能把这些数据转成XML岂不是很好?
是的,Excel可以做这些,但是Excel不知道你想要的XML格式,所以要给Excel定一个规则让它直到我们想要什么字段、输出什么格式。
现在有两种方法给Excel指定输出规则:
简单XML映射、SchemaXML映射,下面分别来做介绍。
简单XML映射
对于上面的数据我们用下面这段XML来描述,然后保存为rule.xml文件。
data是输出XML的根节点,student是单个学生信息节点,这两个字段限定了XML输出的节点名称,数据描述了单条XML节点属性的字段名称。
这样整个输出规则就定制好了,是不是非常简单?
可能会疑惑为什么有两条重复的student数据,这里我先不透露,大家可以看完这篇文章后自己试试看看什么效果。
接下来我们把这个XML规则导入Excel,进入“文件->
选项->
自定义功能区”,右边栏里面找到开发工具,确保其前面的复选框被勾上,并且确保XML前面的复选框也被勾上,如下图
然后返回主界面,在选项卡区域找到开发工具,点击源按钮,这时Excel会出现一个左边栏,这时导入XML规则的入口操作界面,
点击“XML映射…->
添加”,把之前保存的rule.xml文件导入进来,这时右边栏会出现一个树形的属性列表,列表字段就是rule.xml规则里面定义的字段,这些自动都是可以拖拽的:
把id拖拽到学号栏,一次类推,把所有的字段都映射到Excel的数据栏。
这样就完成了所有的规则定义以及映射工作,接下来就是高潮来临的时刻:
输出XML配置。
这一步非常简单,只需要点击一个按钮“开发者工具->
导出”,然后选择你要输出的文件位置保存即可。
xmlversion="
1.0"
encoding="
UTF-8"
standalone="
yes"
?
>
5325035"
name:
:
01"
0"
major="
21"
33349"
5325036"
02"
1"
22"
33208"
5325037"
03"
20"
33744"
5325038"
04"
33914"
5325039"
05"
33398"
5325040"
06"
33403"
5325041"
07"
33366"
5325042"
08"
23"
32712"
5325043"
09"
33536"
5325044"
10"
33672"
5325045"
11"
33397"
整个操作是不是很简单?
结果是不是很完美?
!
细心的同学可能发现了出生日期导出的好像有点奇怪,其实不必诧异:
这时Excel表示日期的原始数据。
但是跟想象的结果好像有点出入,你是否想对输出的格式作进一步的限制?
如果是,那么下一个章节是你需要关注的。
SchemaXML映射
其实我对SchemaXML的了解也不太多,有一点我是可以确认的:
SchemaXML是一个XML内容的规则,它描述了XML有什么样的内容,并限定了XML内容有什么格式;
简单说它是一个XML的语法规范。
为什么这样说呢?
因为实际上我们为XML定义的没一个字段都是有其含义的,比如年龄字段只可能是一个整数,不可能是其他字符串之类的值;
而出生日期就是一个日期格式,以此类推。
这样你就会有点豁然开朗的感觉,是的,SchemaXML可以描述任意XML内容。
到这里,我们可以用SchemaXML做Excel导出XML的规则就一点不奇怪了,应该说用它就最合适不过了!
SchemaXML其实也是一个XML文件,但是写起来相对有点门槛。
如果为上面的数据写一个SchemaXML规则,那么就应该类似下面这样:
xmlns:
xs="
http:
//www.w3.org/2001/XMLSchema"
elementFormDefault="
qualified"
data"
maxOccurs="
unbounded"
student"
id"
type="
xs:
integer"
use="
required"
name"
string"
sex"
age"
birth"
date"
具体SchemaXML里面的这些字段表示什么意思,这就超出了本文介绍的范围,有兴趣的同学可以Google一些相关资料来学习一下。
除了学习资料,也可以使用现成的可视化工具来生成配置,比如OxygenXML、LiquidXML等。
下面是Oxygen可视化编辑工具的界面
这里就不对这些工具做过多的介绍,有兴趣的同学可以下来体验下。
把上面这段SchemaXML规则保存为rule.xsd文件,采用导入rule.xml的方式导入rule.xsd文件,导入后也会生成类似的树形字段列表,然后拖拽映射到相应的Excel数据列上,点击导出即可。
1991-04-21"
1990-12-01"
1992-05-20"
1992-11-06"
1991-06-09"
1991-06-14"
1991-05-08"
1989-07-23"
1991-10-25"
1992-03-09"
1991-06-08"
这是使用SchemaXML导出的配置结果,在日期字段里面月份、日期如果是一位数字的前面会自动补0占位,看起来非常工整。
每个字段单独输出XML节点
这中方式映射与字段输出属性模式是非常类似,区别只是规则定义格式的差别,如果使用简单XML做规则,那么就应该是这样
这里的规则与上面类似,也是重复两段student,这个是必须的,原理也同上面类似。
如果使用SchemaXML,那么规则应该这样
相应的Oxygen可视化模型大致如下图
注意事项
虽然XML、SchemaXML规则可以描述很复杂的XML内容,但是Excel只支持最多二级的XML配置导出
使用XML做规则时,一定不能只使用一条数据来描述,否则生成的结果只有Excel标题栏文本,而不是数据本身
点赞
导出
xml
Excel
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 Excel 导出 XML 格式文件