前兩天研究了用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...