美文网首页
excel数据写入xml文件

excel数据写入xml文件

作者: 寒冰行 | 来源:发表于2021-07-13 16:47 被阅读0次

把一个文本文件追加写入另外一个文件
Private Sub ApplendText(TargetFile As String, SourceFile As String)
Dim lineStr As String, outer As String
Open SourceFile For Input As #1
Do Until EOF(1)
Line Input #1, lineStr
outer = outer & lineStr & vbCrLf
Loop
Close #1
Open TargetFile For Append As #1
Print #1, outer
Close #1
MsgBox "read and write finished!"
End Sub

excel导出为xml文件
Private Sub CommandButton1_Click()
If MsgBox("Are you sure create xml?", vbYesNo) = vbYes Then
ActiveWorkbook.Save
Dim xlsname, filepath
Dim irow%, icol%
xlsname = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5)
filepath = ThisWorkbook.Path

    Dim objStream As Object
    Set objStream = CreateObject("ADODB.Stream")
    objStream.Open
    objStream.Position = 0
    objStream.Charset = "UTF-8"
    objStream.writetext "<MatML_Doc> " & vbCrLf
    For irow = 2 To Cells(Rows.Count, 1).End(3).Row
        objStream.writetext vbTab & "<Material>" & vbCrLf
        objStream.writetext vbTab & vbTab & "<BulkDetails>" & vbCrLf
        Dim materialName
        materialName = Cells(irow, 3) + " " + Cells(irow, 6) + Cells(irow, 7)
        If Cells(irow, 8) <> "" Then
            materialName = materialName + "-" + Cells(irow, 8)
        End If
     
        objStream.writetext vbTab & vbTab & vbTab & "<Name>" & materialName & "</Name>" & vbCrLf
        objStream.writetext vbTab & vbTab & vbTab & "<Class> <Name>" & Cells(irow, 1) & "</Name></Class>" & vbCrLf
        
    Next
    
    'here add meta data
      
    objStream.SaveToFile filepath + "\" + xlsname + ".xml", 2

    objStream.Close
    Set objStream = Nothing
    
    Dim TargetFileName As String
    TargetFileName = filepath + "\" + xlsname + ".xml"
    MsgBox TargetFileName
    
    Dim SourceFileName As String
    SourceFileName = filepath + "\metadata.xml"
    Call ApplendText(TargetFileName, SourceFileName)
    
End If

End Sub

相关文章

网友评论

      本文标题:excel数据写入xml文件

      本文链接:https://www.haomeiwen.com/subject/dsjspltx.html