簡體   English   中英

使用Excel :: XLSX解析Perl中的電子表格

[英]Using Excel::XLSX to parse a spreadsheet in Perl

我使用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} || "";
    }   
}

問題是時間值轉換為浮點數:

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

如何將時間字符串保留為字符串?

謝謝! L.

$cell->{Val}是未格式化的值(與$cell->unformatted() )。 嘗試獲取$cell->value() (與$cell-{_Value} ),這是格式化的值;

Excel將日期存儲為浮點數,因此如果要格式化它們,可以使用Spreadsheet :: ParseExcel :: Utility中的ExcelFmt()函數,並且您將希望使用未格式化的值作為該函數的參數之一。 您甚至可以使用$cell->get_format()獲取format參數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM