环境准备,安装必要模块
下载安装
- 1、打开metacpan网站搜索
-
2、进入网页点击下载按钮
这同时也是官方文档,英语水平有限用了google翻译。在linux下用wget下载即可
3、解压缩
解压很简单,使用tar -xzf 压缩文件名 -C 解压路径
。4、安装
最主要的步骤应该就是安装了,进入解压文件夹下执行命令
perl Makefile.PL #默认安装到perl的根目录,自定义路径使用命令: perl Makefile.PL PREFIX=路径
make install #开始安装
最后调用路径就是:路径/share/perl5
解决依赖
解决方法很简单,调用下Excel::Writer::XLSX,发现有未找到的模块就再到metacpan网站上搜索安装,重复直到解决,还好貌似重复一遍就可以了
这样创建和写Excel的环境就解决了。
参考官方文档用代码写Excel文件
基本操作
my $workbook = Excel::Writer::XLSX->new( '文件路径' ); #创建excel文件
$worksheet = $workbook->add_worksheet('sheet名,可空'); #创建sheet
$worksheet->write( 行, 列, 内容); #在某行某列写入xxxx
以上的这几条命令就可以完成最基本的写操作了,感觉真的是超级简单。
高级点的
- 1、设置格式
$format = $workbook->add_format();
#粗体
$format->set_bold();
#红色
$format->set_color( 'red' );
#居中
$format->set_align( 'center' );
#设置单元格格式
$worksheet->write( $row, $col, 'Hi Excel!', $format );
- 2、添加图表
#type (必要)
#subtype (可选)
#name (可选)
#embedded (可选)
my $chart = $workbook->add_chart( type => 'column' );
#对$chart设置各种数据,属性之后插入图表
$worksheet->insert_chart( 'E2', $chart );
参考官方文档读Excel文件
环境配置省略,在metacpan搜索Spreadsheet::ParseExcel即可。
官方最简单例子
#!/usr/bin/perl
use strict;
use warnings;
use Spreadsheet::ParseExcel;
#加载解析器
my $parser = Spreadsheet::ParseExcel->new();
#读入文件,填入路径
my $workbook = $parser->parse('test.xls');
#防止出错
if ( !defined $workbook ) {
die $parser->error(), ".\n";
}
#遍历sheet
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 = ($row, $col)\n";
print "Value = ", $cell->value(), "\n";
print "Unformatted = ", $cell->unformatted(), "\n";
print "\n";
}
}
}
简单说明下,这段代码就是遍历了整个Excel表,然后将所有的结果进行了输出。一般这个代码就能满足要求了,将excel读入在做逻辑处理。