如何使用逗号作为小数分隔符使用 XMLDOM 导入 xml 数据
How to import xml data with XMLDOM using a comma as decimal separator
我对 VBA 和从 xml 文件导入数据还很陌生。
目前我正在编写 VBA 脚本,它将特定 xml 节点的值导入到 excel sheet。我使用的是以下指南,我根据自己的需要进行了更改:
https://excel-macro.tutorialhorizon.com/vba-excel-read-data-from-xml-file/
但是我在导入十进制数时遇到了一些麻烦。在 xml 文件中,小数分隔符是脚本无法识别的逗号。 Excel 把 75,13 变成 7513.
当我将 xml 文件中的小数分隔符更改为点时,它可以工作,但是有没有办法在不触及 xml 文件进行预处理的情况下执行此操作?
我导入节点如下:
mainWorkBook.Sheets("Sheet1").Range("A" & intCounter).Value = G_JAHRE(i).ChildNodes(0).nodeTypedValue
在有限的输入下给你一个完美的解决方案有点棘手,但这里是一个开始:
mainWorkBook.Sheets("Sheet1").Range("A" & intCounter).Value = Replace(G_JAHRE(i).ChildNodes(0).nodeTypedValue, ".", ",")
它搜索点并用逗号替换。
这不是一个理想的解决方案,在很多情况下它都不起作用,但如果您的输入相当干净,它很可能会有所帮助。
我对 VBA 和从 xml 文件导入数据还很陌生。 目前我正在编写 VBA 脚本,它将特定 xml 节点的值导入到 excel sheet。我使用的是以下指南,我根据自己的需要进行了更改:
https://excel-macro.tutorialhorizon.com/vba-excel-read-data-from-xml-file/
但是我在导入十进制数时遇到了一些麻烦。在 xml 文件中,小数分隔符是脚本无法识别的逗号。 Excel 把 75,13 变成 7513.
当我将 xml 文件中的小数分隔符更改为点时,它可以工作,但是有没有办法在不触及 xml 文件进行预处理的情况下执行此操作?
我导入节点如下:
mainWorkBook.Sheets("Sheet1").Range("A" & intCounter).Value = G_JAHRE(i).ChildNodes(0).nodeTypedValue
在有限的输入下给你一个完美的解决方案有点棘手,但这里是一个开始:
mainWorkBook.Sheets("Sheet1").Range("A" & intCounter).Value = Replace(G_JAHRE(i).ChildNodes(0).nodeTypedValue, ".", ",")
它搜索点并用逗号替换。
这不是一个理想的解决方案,在很多情况下它都不起作用,但如果您的输入相当干净,它很可能会有所帮助。