如何使用perl解析excel2007

2021-06-19 00:30:49 字數 1281 閱讀 3363

前兩天研究了用spreadsheet::parseexcel 解析excel 。但這個模組只支援2003及一下的檔案。

今天又繼續研究了解析2007的方法。

首先安裝包

view plain

copy to clipboard

print?

archive::zip --  1.30  

compress-raw-zlib-2.026  

archive::zip -- 1.30 compress-raw-zlib-2.026

這兩個依賴包安裝完畢之後,就用到主要的包:spreadsheet::xlsx

解析的時候,同樣遇到中文的問題。這時需要用use encode 實現從 utf8 -> gbk(gb2312) 的轉換。

**基本是抄官方文件的。 我的excel檔案就乙個sheet。

一共兩行(第一行是title),每行三列;這樣的正規檔案沒發現問題。

整個**如下

view plain

copy to clipboard

print?

use strict;  

use warnings;  

use spreadsheet::xlsx;  

use encode;  

#my $converter = text::iconv -> new ("utf-8", "windows-1251");  

#my $excel = spreadsheet::xlsx -> new ('test.xlsx', $converter);  

my $excel = spreadsheet::xlsx -> new ('test.xlsx');  

foreach my $sheet (@}) );  

$sheet ->  ||= $sheet -> ;  

foreach my $row ($sheet ->  .. $sheet -> )  ||= $sheet -> ;  

foreach my $col ($sheet ->  ..  $sheet -> )  [$row] [$col];  

if ($cell) ;  

$a = encode("gbk", decode("utf8", $a));  

#printf("( %s , %s ) => %s\n", $row, $col, $a);  

printf("$a ");  

}  }  

print "\n"; ## one row over  

}  } 

讀取excel檔案(使用perl處理)

做了乙個簡單的處理excel檔案的perl程式,批量讀取其中的資料將其轉換csv檔案 如下 usr local bin perl xlstocsv ver 0.2 xls檔案轉換csv mail use strict use warnings use spreadsheet parseexcel u...

使用POI解析Excel

最近在寫專案,涉及到批量新增學生資訊,通過網上查了眾多資料,終於通過上傳乙個excel檔案的方式加以解決,現特此記錄下來,以備以後檢視。解析的核心 suppresswarnings static access public static listreadxls inputstream inputst...

perl解析語法

perl語法解析 perldoc 可以用來查閱,perl的文件 使用下面的命令可以查詢perl本身的文件 perldoc perlvar 用來查詢perl的內建perl變數 perldoc perlrun 告訴你如何執行perl perl整合了許多內建函式,你想知道某個特定函式的作用。perlfun...