perl - 为什么在 Perl 中读取 Excel 2007 (.xlsx) 文件时值会被截断?

标签 perl excel

我正在阅读 .xls文件使用 Spreadsheet::ParseExcel并且能够按原样获取数据。

但是,当阅读.xlsx时文件使用 Spreadsheet::XLSX ,读取的值被截断。

例如,2.4578.xls.xlsx文件读取为 2.45782.45 ,分别。

请说明原因 .xlsx文件数据已损坏。

最佳答案

我创建了一个简单的工作簿,其中包含一张工作表,并且 A1 中仅包含值 2.4578,并运行了以下脚本:

use Spreadsheet::XLSX;

my $excel = Spreadsheet::XLSX->new('Book1.xlsx');

my ($sheet) = @{ $excel->{Worksheet} };

print $sheet->{Cells}[0][0]{Val}, "\n";

输出:

C:\Temp> x
2.4578000000000002

所以,在这个简单的例子中,一切似乎都很好。

如果您可以发布一个简短的、独立的示例来展示问题以及一个供我们查看的小示例 .xlsx 文件,我们将有更好的机会识别问题。

关于perl - 为什么在 Perl 中读取 Excel 2007 (.xlsx) 文件时值会被截断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3069019/

相关文章:

regex - Perl 正则表达式 - 仅打印修改后的行(如 sed -n 's///p' )

perl - 如何在程序执行中保持标量值?

excel - 编码变化范围

java - 如何从 Excel VBA 运行 Java Eclipse?

perl - "$|++"和 "$|=1"有什么区别

perl - 如何在 Perl 源文件中编写阿拉伯语?

javascript - 使用 Javascript 将表格导出到 MS Excel,在 MS Edge 上不起作用

excel - 如何模糊匹配相邻的单元格?

perl - 在 Perl 中删除超过 90 天的文件

EXCEL 2010 条件格式问题