gpt4 book ai didi

perl - 在 Perl 中使用 Excel::XLSX 解析电子表格

转载 作者:行者123 更新时间:2023-12-01 04:58:51 34 4
gpt4 key购买 nike

我正在使用 Perl 模块 Spreadsheet::XLSX 来解析 Excel 电子表格。部分数据如下所示:

    Time        A1      A2      A3      
0m14m35 0.12 0.13 0.14
0m29m35 0.15 0.16 0.17

下面是部分代码:

foreach my $row ($sheet->{MinRow} .. $sheet->{MaxRow}) {

foreach my $col ($sheet->{MinCol} .. $sheet->{MaxCol}) {

my $cell = $sheet->{Cells}[$row][$col];
my $val = $cell->{Val} || "";
}
}

问题是时间值被转换为 float :

 '0m14m35' becomes:  0.0101273148148148
'0m29m35' becomes: 0.0205439814814815

如何将时间字符串保持为字符串?

谢谢!L.

最佳答案

$cell->{Val} 是未格式化的值(与 $cell->unformatted() 相同)。尝试获取$cell->value()(同$cell-{_Value}),也就是格式化后的值;

Excel 将日期存储为 float ,因此如果要格式化这些日期,可以使用 Spreadsheet::ParseExcel::Utility 中的 ExcelFmt() 函数,并且您需要使用未格式化的值作为参数之一功能。您甚至可以使用 $cell->get_format()

获取格式参数

关于perl - 在 Perl 中使用 Excel::XLSX 解析电子表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17576431/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com