欧元货币符号悄悄进入解析的 excel 输出

Euro currency symbol creeping into parsed excel output

提问人:StevieD 提问时间:5/28/2020 更新时间:5/29/2020 访问量:153

问:

我正在使用 Spreadsheet::BasicRead 从 Quickbooks 在线报告生成的电子表格中提取数据。有些单元格看起来像是带有前导美元符号的货币格式。但是,提取数据后,这些单元格中的数据如下所示: 。'20.00 €'

我可以去掉这个符号,但想知道为什么会这样。我检查了 xlsx 文件中的 xml,并看到了其中的欧元符号(即使在电子表格中它显示为美元符号):

styles.xml:<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><numFmts count="2"><numFmt numFmtId="165" formatCode="#,##0.00\ _€"/><numFmt numFmtId="166" formatCode="&quot;$&quot;* #,##0.00\ _€"/></numFmts>

有解决办法吗?也许我只是需要一个更好的电子表格解析器?

Excel Perl XML 解析

评论

0赞 StevieD 5/28/2020
我将问题追踪到 Spreadsheet::XLSX 模块中的函数:metacpan.org/release/Spreadsheet-XLSX/source/lib/Spreadsheet/...具体来说,就是处理格式的 foreach 循环。
0赞 ikegami 5/29/2020
你要求知道为什么会发生这种情况,然后继续回答你自己的问题。(Quickbook据说使用欧元符号。然后你问是否有解决方案,但你表明 S::BR 完全按照指示进行。最后,您建议使用更好的电子表格解析器可能会起作用,但您指出电子表格解析器工作正常。你想从我们这里得到什么?

答:

0赞 StevieD 5/29/2020 #1

据我所知,在单元格的左侧添加填充。我通过在 Excel 电子表格程序中的自定义格式末尾添加几个字符来确认这一点。根据 MS 文档,下划线添加的空格等于其后面字符的宽度。_€_€

我不确定为什么 Quickbooks 选择欧元符号。

无论如何,这个格式说明符应该被剥离。