发觉最近有点忙,很久没法文章了,为了不给遗忘,发个最近在用的perl的一个模块;
以前做excel的处理,是用vc++ 或 java 因为方便不用安装什么东西,但最近想提提组内
新人的学习兴趣,就弄弄perl excel处理模块。
网上的例子,都只是给出一个例子,但发现这个例子就是原来官网模块下面的例子,可能有些
朋友还要花费时间去找相关模块,下载安装使用,到最后还不能达到想要的效果。以下的例子是能
读取excel内容,并进行中文处理。
资源:
|
文件: | Spreadsheet-ParseExcel-0.58.tar.gz |
大小: | 165KB |
下载: | 下载 |
|
|
文件: | Spreadsheet-Read-0.41.tar.gz |
大小: | 143KB |
下载: | 下载 |
|
|
文件: | Spreadsheet-WriteExcel-2.37.tar.gz |
大小: | 553KB |
下载: | 下载 |
|
|
文件: | OLE-Storage_Lite-0.19.tar.gz |
大小: | 21KB |
下载: | 下载 |
|
(PS:OLE模块肯定要最先安装)
安装步骤:
tar -zxvf xx.tar.gz && /usr/bin/perl Makefile.py && make && make test
make install
#!/usr/bin/perl -w
use strict;
use Spreadsheet::ParseExcel;
use Encode;
my $parser=Spreadsheet::ParseExcel->new();
my $workbook = $parser->Parse('test.xls');
for my $worksheet ( $workbook->worksheets() ) {
my ( $row_min, $row_max ) = $worksheet->row_range();
my ( $col_min, $col_max ) = $worksheet->col_range();
for my $row ( $row_min .. $row_max ) {
for my $col ( $col_min .. $col_max ) {
my $cell = $worksheet->get_cell( $row, $col );
next unless $cell;
print " ($row, $col)\t ", encode("gb2312",$cell->value()), "\t";
#print "Unformatted = ", encode("gb2312",$cell->unformatted()), "\t";
#print "\n";
}
print "\n";
}
}
学习方法:
在官网:上每个模块都附带着demo 学习起来比较容易 但毕竟是外国 所以代码里面都是没做
中文处理
[root@apptest-10-90 handleExcel]# /usr/bin/perl handleExcel.pl
(0, 0) 欧彬 (0, 1) Sky (0, 2) 201009
从这里我们可以知道,它是按点的方式进行数据读取。
阅读(2374) | 评论(0) | 转发(0) |