用Perl操作Excel文档的实例代码
程序员文章站
2022-07-11 15:15:23
在linux或者unix上操作(生成)excel,cpan上提供了spreadsheet::writeexcel 和 spreadsheet::parseexcel这两个模...
在linux或者unix上操作(生成)excel,cpan上提供了spreadsheet::writeexcel 和 spreadsheet::parseexcel这两个模块。
下面就来看看 spreadsheet::writeexcel 和 spreadsheet::parseexcel的使用方法。
首先,要在服务器上安装相应的模块。
安装 excel 模块的 ppm 命令
ppm> install ole::storage_lite
ppm> install spreadsheet::parseexcel
ppm> install spreadsheet::writeexcel
来看两个例子吧。
例1:读取excel文件
#!/usr/bin/perl -w
use strict;
use spreadsheet::parseexcel;
my $parser = spreadsheet::parseexcel->new();
my $workbook = $parser->parse('book1.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 = ($row, $col)\n";
print "value = ", $cell->value(), "\n";
print "unformatted = ", $cell->unformatted(), "\n";
print "\n";
}
}
}
例2:生成excel文件
#!/usr/bin/perl -w
use spreadsheet::writeexcel;
# 创建一个新的excel文件
my $workbook = spreadsheet::writeexcel->new('test.xls');
# 添加一个工作表
$worksheet = $workbook->add_worksheet();
# 新建一个样式
$format = $workbook->add_format(); # add a format
$format->set_bold();#设置字体为粗体
$format->set_color('red');#设置单元格前景色为红色
$format->set_align('center');#设置单元格居中
#使用行号及列号,向单元格写入一个格式化和末格式化的字符串
$col = $row = 0;
$worksheet->write($row, $col, 'hi excel!', $format);
$worksheet->write(1, $col, 'hi excel!');
# 使用单元格名称(例:a1),向单元格中写一个数字。
$worksheet->write('a3', 1.2345);
$worksheet->write('a4', '=sin(pi()/4)');
exit;
下面就来看看 spreadsheet::writeexcel 和 spreadsheet::parseexcel的使用方法。
首先,要在服务器上安装相应的模块。
安装 excel 模块的 ppm 命令
复制代码 代码如下:
ppm> install ole::storage_lite
ppm> install spreadsheet::parseexcel
ppm> install spreadsheet::writeexcel
来看两个例子吧。
例1:读取excel文件
复制代码 代码如下:
#!/usr/bin/perl -w
use strict;
use spreadsheet::parseexcel;
my $parser = spreadsheet::parseexcel->new();
my $workbook = $parser->parse('book1.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 = ($row, $col)\n";
print "value = ", $cell->value(), "\n";
print "unformatted = ", $cell->unformatted(), "\n";
print "\n";
}
}
}
例2:生成excel文件
复制代码 代码如下:
#!/usr/bin/perl -w
use spreadsheet::writeexcel;
# 创建一个新的excel文件
my $workbook = spreadsheet::writeexcel->new('test.xls');
# 添加一个工作表
$worksheet = $workbook->add_worksheet();
# 新建一个样式
$format = $workbook->add_format(); # add a format
$format->set_bold();#设置字体为粗体
$format->set_color('red');#设置单元格前景色为红色
$format->set_align('center');#设置单元格居中
#使用行号及列号,向单元格写入一个格式化和末格式化的字符串
$col = $row = 0;
$worksheet->write($row, $col, 'hi excel!', $format);
$worksheet->write(1, $col, 'hi excel!');
# 使用单元格名称(例:a1),向单元格中写一个数字。
$worksheet->write('a3', 1.2345);
$worksheet->write('a4', '=sin(pi()/4)');
exit;
上一篇: perl 基本语法介绍
下一篇: 服务器自动删除文件的脚本