Public Sub Workbook_BeforeSave()
Dim fileName As String
Dim firstIndex As Integer
Dim lastIndex As Integer
Dim rootNodeName As String
Dim xmlDoc As MSXML2.DOMDocument
fileName = Worksheets(2).Range("B8").Value
firstIndex = Worksheets(2).Range("B10").Value
lastIndex = Worksheets(2).Range("B11").Value
rootNodeName = Worksheets(2).Range("B12").Value
If fileName = "" Then
MsgBox ("僼傽僀儖僷僗傪巜掕偔偩偝偄丅")
Exit Sub
End If
Set xmlDoc = New MSXML2.DOMDocument
Set rootNode = xmlDoc.createElement(rootNodeName)
Set xmlDoc.DocumentElement = rootNode
Set Header = xmlDoc.createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'")
xmlDoc.InsertBefore Header, xmlDoc.ChildNodes(0)
xmlDoc.Save fileName
Set xmlDoc = Nothing
Call OutputSchema(fileName, firstIndex, lastIndex)
End Sub
Public Sub OutputSchema(fileName, firstIndex, lastIndex)
Dim caseIndex As Integer
Dim pmstartIndex As Integer
'case僨乕僞start
caseIndex = Worksheets(1).Range("IV1").End(xlToLeft).Column
'僷儔儊乕僞楍栚傪庢摼
For i = 1 To caseIndex
cellValue = Worksheets(1).Cells(1, i).Value
If cellValue = "pmstart" Then
pmstartIndex = i
Exit For
End If
Next
Dim nodeIndex As Integer
Dim xmlNode(100) As IXMLDOMElement '梫慺
Set xmlDoc = New MSXML2.DOMDocument
xmlDoc.Load fileName
Set Root = xmlDoc.DocumentElement
Set xmlNode(1) = Root
For nodeIndex = firstIndex To lastIndex
nodeName = Worksheets(1).Cells(nodeIndex, pmstartIndex).Value
attrValue = Worksheets(1).Cells(nodeIndex, pmstartIndex + 1).Value
caseValue = Worksheets(1).Cells(nodeIndex, pmstartIndex + 2).Value
For j = 2 To pmstartIndex
PmName = Worksheets(1).Cells(nodeIndex, j).Value
nextPmName = Worksheets(1).Cells(nodeIndex + 1, j + 1).Value
If Not PmName = "" Then
Set xmlNode(j) = xmlNode(j - 1).appendChild(xmlDoc.createElement(nodeName))
If Not attrValue = "" Then
Set xmlAttr = xmlNode(j).Attributes.setNamedItem(xmlDoc.createAttribute("nameSpace"))
xmlAttr.nodeValue = attrValue
End If
If nextPmName = "" Or j = pmstartIndex - 1 Then
xmlNode(j).Text = caseValue & vbCrLf
End If
Exit For
End If
Next
Next
xmlDoc.Save fileName
Set xmlDoc = Nothing
End Sub
分享到:
相关推荐
在Excel表格中,VBA(Visual Basic for Applications)是一种强大的编程工具,允许用户自定义功能,自动化任务,以及处理各种复杂的数据操作。本主题聚焦于如何利用VBA更新双色球数据源,这对于彩票数据分析或者爱好...
### VBA在Excel中的应用:禁止用户添加新工作表 #### 概述 VBA(Visual Basic for Applications)是Microsoft Office套件中的一个重要组成部分,它为用户提供了强大的自动化办公工具的能力。通过VBA,用户可以编写...
在IT行业中,Excel和XML是两种非常常见的数据存储格式,各有其特定的使用场景和优势。Excel适合处理表格数据,直观易用,而XML则是一种结构化的数据交换格式,适用于跨平台、网络传输和数据存储。本文将详细介绍如何...
Excel VBA(Visual Basic for Applications)是Microsoft Excel中的编程环境,允许用户自定义工作簿、工作表、图表和应用程序的功能。VBA结合了Excel的强大功能和VB语言的易用性,使得用户能够创建宏,自动化任务,...
自己编写的PDF转换工具,只要安装了Acrobat 9 Pro.exe,并引用库,即可实现批量EXCLE VBA转换成PDF,不限文件数!
"excle数据可视化图表模板.rar"这个压缩包中包含了多种图表类型,这些模板可以帮助我们快速创建专业且吸引人的数据展示。以下是这些图表类型的详细说明: 1. **PPT变形柱形状**:这种图表通常用于在PowerPoint演示...
ASP.NET导出数据为excle或者xml
读取excle数据 并对数据进行一定的分析。 可用于教师考勤。读取excle数据 并对数据进行一定的分析。 可用于教师考勤。读取excle数据 并对数据进行一定的分析。 可用于教师考勤。读取excle数据 并对数据进行一定的...
而Oracle数据库则是一个关系型数据库管理系统,广泛应用于企业级的数据存储和管理。 **步骤1:数据准备** 在进行数据导入前,你需要确保Excel中的数据已经整理好,格式符合Oracle表结构的要求。包括但不限于删除...
在企业信息化初期,大部分数据都会通过excel进行管理; 作为IT人员,其实对excel又爱又恨,爱其灵活易用,恨其数据不能统一管理, 故若要把excel数据统一管理,能想到的办法...然后通过excle调取数据库的数据进行呈现;
XML文件通常包含一系列由标签定义的元素,这些元素组织成层次结构,便于程序解析和操作。XML文件可以用来存储复杂的数据结构,如数据库记录、配置信息或业务数据。然而,对于非程序员来说,XML文件可能难以阅读和...
本资源“excle-VBA-窗体控件属性中文解释”是一个详细的查询大全,针对53个不同窗体控件的属性提供了中文解释,这对于理解和操作Excel VBA中的用户界面设计至关重要。 1. **控件类型**: - **按钮(Button)**:用户...
标题中的“导出EXCLE数据ExcelReader”表明我们要讨论的是一个与Excel数据处理相关的工具或技术,特别是关于从Excel文件中读取数据的部分。在IT领域,这通常涉及到电子表格编程,例如使用特定的库或者API来解析Excel...
Excle VBA实现彩票号码随机生成,彩票号码随机生成器
在Excel数据操作中,我们经常会遇到需要读取、写入以及处理大量数据的情况。这篇详细的指南将涵盖Excel文件处理的各个方面,确保你能够熟练地在单个工作表(sheet)和多个工作表之间,甚至跨多个Excel文件进行操作。...
综上所述,"excle中数据导入到sql数据库(asp.net)"这个任务涵盖了数据读取、数据处理、Web开发、数据库操作等多个IT领域的知识点,要求开发者具备扎实的编程基础和跨领域技术理解。通过精心设计的ASP.NET应用程序,...
1. VBA基础知识:VBA的基础包括变量声明、数据类型、控制结构(如If...Then...Else、For...Next、While...Wend)、函数和过程。理解这些基本元素是编写VBA宏的关键。 2. VBA环境:在Excel中,通过开发者工具菜单...
针对Excle数据进行导入、导出
EXCLE生成XML,开票软件数据接口,绝对可用,MS EXCEL打开才可以生成,WPS不行