免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2979 | 回复: 4
打印 上一主题 下一主题

帮忙理解Spreadsheet::XLSX中的例子 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-04 16:04 |只看该作者 |倒序浏览
http://search.cpan.org/~dmow/Spr ... Spreadsheet/XLSX.pm

能帮忙解释一下 这句是在干什么吗?
$sheet -> {MaxCol} ||= $sheet -> {MinCol};

||= 是什么操作符.


use Spreadsheet::XLSX;

my $excel = Spreadsheet::XLSX -> new ('test.xlsx', $converter);

foreach my $sheet (@{$excel -> {Worksheet}}) {

        printf("Sheet: %s\n", $sheet->{Name});
        
        $sheet -> {MaxRow} ||= $sheet -> {MinRow};
        
         foreach my $row ($sheet -> {MinRow} .. $sheet -> {MaxRow}) {
         
                $sheet -> {MaxCol} ||= $sheet -> {MinCol};
               
                foreach my $col ($sheet -> {MinCol} ..  $sheet -> {MaxCol}) {
               
                        my $cell = $sheet -> {Cells} [$row] [$col];

                        if ($cell) {
                            printf("( %s , %s ) => %s\n", $row, $col, $cell -> {Val});
                        }

                }

        }

}

论坛徽章:
0
2 [报告]
发表于 2012-05-04 16:09 |只看该作者
再补充一个问题, 最近要处理读写excel文件.
有没有module可以通吃xls,xlsx.
有经验的大牛提供一下这方面的Best Practice.

论坛徽章:
6
15-16赛季CBA联赛之新疆
日期:2016-03-22 22:34:5915-16赛季CBA联赛之山东
日期:2016-04-11 09:08:41程序设计版块每日发帖之星
日期:2016-06-28 06:20:00程序设计版块每日发帖之星
日期:2016-07-19 06:20:00每日论坛发贴之星
日期:2016-07-19 06:20:0015-16赛季CBA联赛之青岛
日期:2016-07-20 22:44:17
3 [报告]
发表于 2012-05-04 20:46 来自手机 |只看该作者
1参考$a+=$b
2没找到,我现在是根据文件名判断一下,再调用相应的模块。你找到的话分享下。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2012-05-04 21:54 |只看该作者
读写EXCEL推荐用Excel::Writer::XLSX

XLSX和XLS的文件结构是完全不同的。XLSX是XML的打了ZIP包。XLS用Spreadsheet::WriteExcel。作者特意分成了两个模块,但用户接口几乎是完全一样的

论坛徽章:
1
狮子座
日期:2013-12-16 16:09:24
5 [报告]
发表于 2012-05-05 00:14 |只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP