Perl学习15之perl读excel表格

Posted pythonic生物人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perl学习15之perl读excel表格相关的知识,希望对你有一定的参考价值。

"pythonic生物人"的第25篇分享Perl学习15之perl读excel表格Perl学习15之perl读excel表格



摘要

详细介绍Perl如何读取excel数据并简单输出


正文开始啦


1、待读入excel表格test.xlsx

Perl学习15之perl读excel表格


2、excel表格中cell,row,col介绍

Perl学习15之perl读excel表格



3、perl读取并输出每个sheet的第1,2,8列

#! /usr/bin/perluse strict;use warnings;use Spreadsheet::XLSX;
#读入文件my $excel = Spreadsheet::XLSX -> new ('./test.xlsx');foreach my $sheet (@{$excel -> {Worksheet}}) {#Worksheet存储每个excel的sheet printf("SheetName: %s ", $sheet->{Name});#输出sheet名字 #判断sheet是否为空,等价于$sheet -> {MaxRow}=$sheet -> {MinRow}||$sheet -> {MinRow} $sheet -> {MaxRow} ||= $sheet -> {MinRow}; #foreach my $row ($sheet -> {MinRow} .. $sheet -> {MaxRow}) {#行row循环,一行一行读 foreach my $row ($sheet -> {MinRow} .. $sheet -> {MaxRow}) {#行row循环,一行一行读 $sheet -> {MaxCol} ||= $sheet -> {MinCol};#判断每列是否为空 my $cell1 = $sheet -> {Cells} [$row] [1];#第1列格子 my $cell2 = $sheet -> {Cells} [$row] [2]; my $cell8 = $sheet -> {Cells} [$row] [8]; printf("%s %s %s ", $cell1 -> {Val}, $cell2 -> {Val}, $cell8 -> {Val}); #$cell -> {Val}为cell值 } }
输出结果:

Perl学习15之perl读excel表格


4、官方例子,perl读取并输出每个非空的cell值

#use Text::Iconv;#my $converter = Text::Iconv -> new ("utf-8", "windows-1251");
# Text::Iconv is not really required.# This can be any object with the convert method. Or nothing.
use Spreadsheet::XLSX;#读入文件my $excel = Spreadsheet::XLSX -> new ('test.xlsx');foreach my $sheet (@{$excel -> {Worksheet}}) {##每个sheet,Worksheet存储每个excel的sheet printf("SheetName: %s ", $sheet->{Name});#输出sheet名字 ##判断sheet是否为空,等价于$sheet -> {MaxRow}=$sheet -> {MinRow}||$sheet -> {MinRow} $sheet -> {MaxRow} ||= $sheet -> {MinRow}; foreach my $row ($sheet -> {MinRow} .. $sheet -> {MaxRow}) {##每行,行row循环,一行一行读 $sheet -> {MaxCol} ||= $sheet -> {MinCol};#判断每列是否为空 foreach my $col ($sheet -> {MinCol} .. $sheet -> {MaxCol}) {##每列,一列一列读,$col为列号 my $cell = $sheet -> {Cells} [$row] [$col];##cell每个格子 if ($cell) { printf("( %s , %s ) => %s ", $row, $col, $cell -> {Val});#$cell -> {Val}为格子值 } } }}
输出结果:
Perl学习15之perl读excel表格

同系列文章




Perl学习15之perl读excel表格Perl学习15之perl读excel表格持续更新,欢迎您"关注"、"在看"、"分享"Perl学习15之perl读excel表格Perl学习15之perl读excel表格


以上是关于Perl学习15之perl读excel表格的主要内容,如果未能解决你的问题,请参考以下文章

在 Perl 脚本中将电子表格文件读入数据库

用perl加载带中文的excel表格(xlsx)

用Perl将Tab-delimited文本文件转换成Excel表格

perl模块推荐20—读写EXCEL

Perl学习16之读文件,存入哈希,输出到文件

使用 Perl 在 Excel 2010 工作表上保存 AsXMLData