我正在编写一个Perl / Tk脚本,它使用Spreadsheet :: Read模块中的ss2tk示例脚本显示Excel工作表。它没有舍入两位小数,但来自 Spreadsheet :: XLSX :: Utility2007 舍入到小数点后两位。为什么?我正在尝试将第二个功能用作我程序的一项功能,以便将显示的工作表转换为CSV文件。

有帮助吗?

解决方案

我看到你能够在PerlMonks的帮助下得到答案了。 frieduck (与 friedo ?),所以我为了SO人的利益而把它连接起来。

总结一下,基本上结果是 Spreadsheet :: XLSX :: Utility2007 在检索单元格值时自动应用2位小数格式。提出的两个解决方法是:

  1. 更改模块生成单元格类型的方式(将其全部视为默认值)通过修改XLSX内部。
  2. 更改模块处理从电子表格加载的单元格的方式(将其视为具有原始电子表格中未格式化的值),也可以通过修改内部结构。
  3. 无论哪种方式,还提到你最好定义一个 local 子来执行修改后的行为,这样就不会因更改模块而产生任何令人讨厌的意外到位。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top