为了账号安全,请及时绑定邮箱和手机立即绑定

perl利用什么语句可以检测并过滤掉带删除线(strikethrough)的文字

perl利用什么语句可以检测并过滤掉带删除线(strikethrough)的文字

翻阅古今 2019-03-28 18:18:59
用perl写了个脚本处理excel文件将其生成为.scs文件,其中在excel文件里有一些文字被加上删除线,在处理时候不需要被处理,因为权限关系不可以修改excel。想问有什么方法可以让perl自动过滤掉带删除线的文字。感谢~!
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

OK,既然你知道怎么写perl,那么不细说其他。
你应该知道如何获取Font,对吧?而删除线是Font的一种。
{Font}->{Strikethrough} strike through: 0 or 1
如果匹配到等于1,那么Filter

查看完整回答
反对 回复 2019-03-31
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

 #!/usr/bin/perl -w

    use strict;

    use Spreadsheet::ParseExcel;


    my $parser = Spreadsheet::ParseExcel->new(

        CellHandler => \&cell_handler,

        NotSetCell  => 1

    );


    my $workbook = $parser->parse('test.xls');


    sub cell_handler {


        my $workbook    = $_[0];

        my $sheet_index = $_[1];

        my $row         = $_[2];

        my $col         = $_[3];

        my $cell        = $_[4];


        # Do something useful with the formatted cell value

        #print $cell->value(), "\n";

                print $cell->get_format()->{Font}->{Strikeout},"\n";

    }


test.xls:





查看完整回答
反对 回复 2019-03-31
  • 2 回答
  • 0 关注
  • 1109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信