0

我有一个 excel 文件,我需要转换为 XML 格式。但是,根据法国审计部门的规定,它需要采用以下格式之一:

我的问题是:是否可以将 excel 格式转换为这些 XML 编码格式之一?对不起,如果这是一个简单的问题,但我没有 excel 格式的经验。非常感谢!

法文链接: https ://www.impots.gouv.fr/porttail/les-comptabilites-informatisees

格式链接:

https://www.impots.gouv.fr/porttail/files/media/1_metier/2_professionnel/a47a-i-viii-7.xsd

https://www.impots.gouv.fr/porttail/files/media/1_metier/2_professionnel/a47a-i-vii-1.xsd

https://www.impots.gouv.fr/porttail/files/media/1_metier/2_professionnel/a47a-i-viii-5.xsd

https://www.impots.gouv.fr/porttail/files/media/1_metier/2_professionnel/a47a-i-viii-3.xsd

4

2 回答 2

0

我写了一个抽象代码,但您可以亲自参与,以满足您的需求

Private Sub CommandButton3_Click()


NRows = Sheet1.UsedRange.Rows.Count
NCols = Sheet1.UsedRange.Columns.Count
MsgBox NRows & "-" & NCols
XMLStr = "<Root>" & vbCr
For i = 2 To NRows
    XMLStr = XMLStr & "<Row>" & vbCr
    For j = 1 To NCols
         XMLStr = XMLStr & "<Col>" & Cells(i, j) & "</Col>" & vbCr
    Next
    XMLStr = XMLStr & "</Row>" & vbCr
Next
XMLStr = XMLStr & "</Root>" & vbCr
'writting string to xml file
Dim myFile As String
myFile = Application.DefaultFilePath & "\myXML.xml"
Open myFile For Output As #1
Write #1, XMLStr
Close #1
End Sub
于 2019-08-26T21:13:17.650 回答
0

听起来好像您正在使用手写 C# 进行点对点集成。这并不总是错误的,但如果你正在做很多这种类型的编码,那么使用一个好的集成引擎可能会更好。

在这种情况下,典型的错误可能包括:

  • 将集成逻辑与当前版本的 Excel 电子表格中的确切工作表名称和列名称耦合
  • 将集成逻辑与工作表/列的确切出现顺序相结合
  • 发送格式错误的 XML 文档(不符合 XML 规范)。Adam Norman 的代码很可能会这样做,因为它不会转义 XML 文档中重要的字符。
  • 发送无效的 XML 文档(与 XSD 不匹配)。

通过仔细编码可以避免上述所有情况,但是一个好的集成引擎会帮助你正确地完成它。

于 2019-08-31T15:46:02.793 回答