我正在阅读 .xls
文件使用 Spreadsheet::ParseExcel并且能够按原样获取数据。
但是,当阅读.xlsx
时文件使用 Spreadsheet::XLSX ,读取的值被截断。
例如,2.4578
在.xls
和.xlsx
文件读取为 2.4578
和2.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/