Excel中编写VBA程序加载XML文件的方法
1、新建Excel文件,打开Visual Basic编辑器。选择菜单栏中的“插入”|“模块”命令创建一个新模块,双击该模块打开其“代码”窗口,在其中输入程序代码,如图1所示。具体的程序代码如下所示:
Sub CreateXMLList()
Dim xMap As XmlMap
Dim objList As ListObject
Dim arrPath As Variant
Dim mPath As XPath
Dim i As Integer
On Error Resume Next
arrPath=Array("学号","姓名","性别","出生年月",_
"身份z号","籍贯","电话","地址") '架构元素名
Set xMap=ThisWorkbook.XmlMaps("学生信息架构映射") '获取架构映射
If xMap Is Nothing Then '如果架构映射不存在则创建
Set xMap=ThisWorkbook.XmlMaps.Add(ThisWorkbook.Path&_"\学生信息.xsd") '创建到学生信息的架构映射
xMap.Name="学生信息架构映射" '设置架构映射的名称
End If
Set objList=Sheet1.ListObjects.Add '在Sheet1表中添加列表
For i=1 To UBound(arrPath)
objList.ListColumns.Add '为列表添加列
Next
For i=0 To UBound(arrPath) '设置列表的各个列
objList.ListColumns(i+1).Name=arrPath(i) '设置列表第i+1列的列标题
objList.ListColumns(i+1).XPath.SetValue xMap,_"/学生明细/学生信息/"&arrPath(i) '建立第i+1列的区域映射
Next
xMap.Import ThisWorkbook.Path&"\学生信息.xml" '导入XML数据文档
End Sub
图1 添加模块并输入程序代码
2、切换到Excel,选择A1单元格,返回Visual Basic编辑器中,将插入点光标放置到上一步创建的程序中,按F5键运行程序,在Excel工作表中可以查看到程序代码运行的结果,如图2所示。
图2 程序运行的结果
提示
从上面的结果中可以看出,Excel文件中已经加载了映射的名称和元素,并且将这些元素都填充到Excel的列表中。
3、添加导入数据的代码。在程序代码的最后添加如下代码:
xMap.Import ThisWorkbook.Path&“\学生信息.xml” '导入XML数据文档
返回到VBA中,查看程序代码运行结果,如图3所示。
图3 运行结果
注意
通过录制宏并不能获取导入XML文档数据的全部代码,其中指定映射区域的步骤将不会获取任何宏代码。因而读者在使用该方法时,需要自己手动完成这些代码的设置工作。
猜你喜欢:
1. Excel2010怎么添加Vba编辑器
2. Excel怎么调用VBA
3. excel如何使用VBA窗口
4. Excel2010怎样添加Vba编辑器
5. 怎么在VBA指令中调用Excel函数
你是想自己写一个XML文件么?用fso就行了
举个例子
你的数据库存里有二个字段 title name 数据库名为 mysong
<%
sql="select title,name from mysong order by id desc"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
dim fso,hf
set fso=Server.CreateObject("Scripting.FileSystemObject")
set hf=fso.CreateTextFile(Server.mappath("list.xml"),true)
hf.write "<?xml version=" &chr(34) &"1.0"&chr(34) &" encoding="&chr(34) &" GB2312"&chr(34) &" ?>" &vbcrlf
hf.write "<data>"&vbcrlf
do while not(rs.eof) and not(rs.bof)
hf.write "<song>"&vbcrlf
hf.write "<title>"&rs("title")&"</title>"&vbcrlf
hf.write "<name>"&rs("name")&"</name>"&vbcrlf
hf.write "</song>"&vbcrlf
rs.movenext
loop
rs.close
set rs=nothing
hf.write "</data>"
hf.close
set hf=nothing
set fso=nothing
%>
你懂ASP的话应该看得懂吧?
<1>右键单击web工程出现下拉菜单<2>选择Java EE Tools---->Generate Deployment Descriptor Stub
<3>创建web.xml 文件完成
<1>创建Web工程
<2>切记点击Finish,点击next
<3>点击next进行web.xml文件勾选
到这里就完成了希望对你有帮助,如有帮助,请加关注!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)