将多个excel单元格映射到xml

时间:2014-07-22 10:28:31

标签: xml excel

我会尝试以最好的方式解释我的问题(对不起我的英语)。

我有一个以这种方式构建的excel文件。

Column1 Column2 Column3 ... ColumnN 1马里奥路易吉 2桃子瓦里奥 。 。 。

我有一个XML Schema(.xds)来映射该电子表格。 架构是:

<root id="x">
  <Column1> *something*</Column1>
  <Column2> *something*</Column2>
  *...and so on...*
</root>

当我映射excel文件时,我可以只将一个单元格转换为一个xml元素。因此,我可以将Column1的单元格与元素Column1映射到XML Schema。我希望这很清楚。 但我想为XML Schema中的元素Column1映射MULTIPLE单元格。 换句话说,当我从Excel导出XML文件时(每行一个),我想重复多次。

我应该期待映射多个单元格

<root id="1">
<Column1> 1</Column1>
  <Column2> Mario</Column2>
  *...and so on...*
</root>

<root id="2">
  <Column1> 1</Column1>
  <Column2> Peach</Column2>
  *...and so on...*
</root>

我得到的映射只有一个单元格

<root id="1">
  <Column1> 1</Column1>
  <Column2> Mario</Column2>
  *...and so on...*
</root>

我希望我的问题很清楚:如何为我的XML Scheme的一个元素映射多个单元格?

感谢。

2 个答案:

答案 0 :(得分:0)

尝试将XLS文件转换为CSV文件,然后使用python脚本,将CSV文件转换为XML文件。 请检查此代码CSV to XML

答案 1 :(得分:0)

或者你可以简单地用xml代码编写一个文本文件,然后用所需的扩展名保存它。例如

Dim fsT As Object
Set fsT = CreateObject("ADODB.Stream")
fsT.Type = 2                ' Specifies stream type - save text data.
fsT.Charset = "utf-8"       ' Specifies charset For the source text data.
fsT.lineseparator = 10      ' Pushes enter when a line is finished
fsT.Open

fsT.WriteText <root id="1">, 1
fsT.WriteText <Column1> 1</Column1>, 1 ' you can substitute a Cell.Column to this "1"
fsT.WriteText     <Column2> Mario</Column2>, 1 ' same here, you can give input by a cell for example
fsT.WriteText     *...and so on...* , 1
fsT.WriteText </root>, 1

' Do it how many times you want then...

fsT.SaveToFile YourFileName, 2 ' Saves (and overwrites) data
fsT.Close
Set fsT = Nothing