在 Windows 环境下用 Perl 读取 Excel 文件

在 Windows 环境下用 Perl 读取 Excel 文件,可以使用 Spreadsheet-Read 库搭配不同的底层库来实现,如果是 xls 文件就使用 Spreadsheet-ParseExcel,如果是 xlsx 文件就使用 Spreadsheet-ParseXLSX 。

我使用的是 ActivePerl ,因此用 ppm 安装这三个库,命令是:

ppm install [库名]

示例代码如下,需要注意的是, 中文字符需要用 encode 来进行转码以防止乱码:

use Spreadsheet::Read;
use Encode;
use strict;

# 打开文件
my $book = Spreadsheet::Read->new ($path_to_file);

# 获取工作表,两种方式,通过工作表名或者编号
my $sht = $book->sheet("sheet_name");
my $sht = $book->sheet($sheet_no);

# 获取最大行数和最大列数
my $rowcnt = $sht->maxrow;
my $colcnt = $sht->maxcol;

# 获取单元格的值
my $val = $sht->cell("A3");
my $val = $sht->cell(1, 3);   # 就是A3,这里是先列数,再行数
my $val = $book->sheet("sheet_name")->cell("A3");  # 还可以从工作簿出发到工作表再到单元格
my $val = encode("gbk", $sht->cell("A3"));  # 如果是中文就需要转码
    原文作者:Frederich
    原文地址: https://www.jianshu.com/p/e642c14bad39
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞