Perl读取Excel中的数据
#!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>;
4556
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端