#!usr/bin/perl -W

use strict;
use Spreadsheet::ParseExcel;#PERL的Spreadsheet::ParseExcel模块支持Excel的读操作。 use utf8;
#引入utf8模块 脚本内的字符串使用utf8作为编码格式
binmode(STDOUT,":encoding(gbk)");
#标准输出使用gbk作为编码格式,也可以把gbk改为gb2312
binmode(STDIN,":encoding(gbk)");
#如果涉及到输入流,例如读文件,不加这条读中文文件会出现乱码
binmode(STDERR,":encoding(gbk)");
#如果异常错误中的字符串有中文,请加上STDERR,否则也会出现乱码 #创建一个parser对象
my $parser=Spreadsheet::ParseExcel->new();
#返回一个文件(IO_300.xls)句柄,通过该句柄可以实现对文件的操作
my $workbook=$parser->parse("IO.xls"); #defined:此函数作用不是判断某个变量是否已经定义,而是用来判断某个变量是否为空
#如果文件不为空
if(!defined $workbook )
{
die $parser->error(),".\n";
} #遍历工作表
my $count=0;
for my $worksheet ($workbook->worksheets())
{
#获取表名
my $TableName = $worksheet->get_name();
print " /////////////////////////////////////////////////////////////////$TableName////////////////////////////////////////////////////////////////\n";
#得到工作表的行和列标范围
my ($row_min,$row_max)=$worksheet->row_range();
my ($col_min,$col_max)=$worksheet->col_range();
print "($row_min,$row_max)\n";
print "($col_min,$col_max)\n";
#遍历行和列
for my $row (1 .. $row_max) { for my $col (1 .. $col_max) {
#根据行和列得到单元格
my $cell=$worksheet->get_cell($row,$col);
#除非单元格为空,否则继续执行下面的代码 next和c语言中的continue语句类似
next unless $cell;
#打印单元格的值
print "Row, Col = ($row, $col)\n";
print "Value = ", $cell->value(), "\n";
$count+=1;
}
}
}
print "总共执行的次数:$count";
<STDIN>;

Perl读取Excel中的数据的更多相关文章

  1. sql 读取excel中的数据

    select 列名 as 字段名 from openBowSet('MSDASQL.1','driver=Microsoft Excel Driver(*.xls);dbq=文件存放地址','sele ...

  2. SpringBoot(十三)_springboot上传Excel并读取excel中的数据

    今天工作中,发现同事在整理数据,通过excel上传到数据库.所以现在写了篇利用springboot读取excel中的数据的demo.至于数据的进一步处理,大家肯定有不同的应用场景,自行修改 pom文件 ...

  3. 无法读取Excel中的数据单元格。有数据,但是读出来全是空值

    C#读取Excel,取值为空的解决办法! C#读取Excel遇到无法读取的解决方法是什么呢?这样在C#读取Excel的过程中有很多问题,那么本文就向你介绍如何解决C#读取Excel遇到无法读取的解决方 ...

  4. 读取Excel中的数据到DataSet

    读取Excel中的数据到DataSet 1.引用命名空间 using System.Data.OleDb; 2.输入Excel文件,输出DataSet public DataSet ExecleDs( ...

  5. C# 读取Excel中的数据

    #region 读取Excel中的数据 /// <summary> /// 读取Excel中的数据 /// </summary> /// <param name=&quo ...

  6. java中使用jxl读取excel中的数据

    package bboss; import java.io.File; import java.io.FileInputStream; import java.io.IOException; impo ...

  7. asp.net读取Excel中的数据问题

      1.Microsoft.ACE.OLEDB.12.0 与Microsoft.Jet.OLEDB.4.0 在通过ADO对Excel对象进行连接时(此时Excel则认为是一个数据源),需要配置对Exc ...

  8. C# 读取Excel中的数据到DataTable中

    原文地址:http://www.open-open.com/code/view/1420029490093 public DataTable ExcelToDS(string Path) { stri ...

  9. JAVA导入(读取)Excel中的数据(支持xls与xlsx文件)

    一.导入jar包 poi-3.7.jarpoi-scratchpad-3.7.jarpoi-examples-3.7.jarpoi-ooxml-3.7.jarpoi-ooxml-schemas-3.7 ...

随机推荐

  1. Java Web中MVC设计模式与IOC

    MVC是由Model(模型).View(视图).Controller(控制器)三个模块组成 视图:用于做数据展示以及和用户交互的一个界面(html页面) 控制层:能够接受客户端的请求,具体的业务功能还 ...

  2. 【三维地图】开发攻略 —— 详解“GeoJSON”技术和应用场景

    GeoJSON ,一个用于存储地理信息的数据格式.GoeJSON对象可以表示几何.特征或特征集合,支持:点.线.面.多点.多线.多面和几何集合.在基于平面地图,三维地图中都需要用到的一种数据类型. 由 ...

  3. Java开发学习(二十八)----拦截器(Interceptor)详细解析

    一.拦截器概念 讲解拦截器的概念之前,我们先看一张图: (1)浏览器发送一个请求会先到Tomcat的web服务器 (2)Tomcat服务器接收到请求以后,会去判断请求的是静态资源还是动态资源 (3)如 ...

  4. PHP代码审计——文件操作漏洞

    梦想CMS(lmxcms)任意文件删除 1. 漏洞详情--CNVD-2020-59469   2. 漏洞描述称后台Ba***.cl***.php文件存在任意文件删除,查看cms源码,只有BackdbA ...

  5. 3款知名RTMP推流模块比较:OBS VS SmartPublisher VS Flash Media Live Encoder

    OBS 功能强大,几乎所有你想要的场景它都有,用起来很顺手.可以将桌面.摄像头.程序窗口通过rtmp推送到流媒体服务器上. 当然如果你是开发者,想基于OBS做二次开发,实现二次产品化的化,难度比较大, ...

  6. Python 第五次实验

    [1] (程序设计)编写程序,将二维列表数据写入 CSV文件(命名为"out.csv"),用逗号隔开.二维列表如下:[['Name','Age','Gender'], ['Bob' ...

  7. Windows 客户端802.1x的一些设置

    802.1x作为网络准入的验证,自然有很多好处.但是在实施过程中也遇到了些小问题.我在这里记录下来,希望对大家有帮助,遇到问题的时候能有个参考. 基于用户验证的方式,当用户修改了密码后,验证失败.此时 ...

  8. Java安全之Velocity模版注入

    Java安全之Velocity模版注入 Apache Velocity Apache Velocity是一个基于Java的模板引擎,它提供了一个模板语言去引用由Java代码定义的对象.它允许web 页 ...

  9. Fluentd部署:系统配置

    Fluentd的全局配置项,诸如开启RPC.使用多worker模式等.可在配置文件中通过<system>进行配置,或通过命令行进行配置. 参数 workers:指定worker进程数,默认 ...

  10. 如何在linux下检测(自身)IP冲突

    最近遇到一个需求,或者说是一个用户现场问题. 我们设备先安装,设置dhcp模式获取ip进行联网,后来又安装了其他设备,但该设备是手动设置的静态ip地址,正好与我们设备冲突,造成网络故障. 那我们就需要 ...