zoukankan      html  css  js  c++  java
  • perl excel文件和txt转换

    excel2txt.pl

    #!/usr/bin/perl

    use strict;

    use Spreadsheet::ParseExcel;

    my $oExcel = new Spreadsheet::ParseExcel;

    die "Usage : \n\tperl $0 <xls> > xls.txt\n\n" unless @ARGV;

    my $oBook = $oExcel->Parse($ARGV[0]);
    my($iR, $iC, $oWkS, $oWkC);

    for(my $iSheet=0; $iSheet < $oBook->{SheetCount} ; $iSheet++){
            $oWkS = $oBook->{Worksheet}[$iSheet];
            for(my $iR = $oWkS->{MinRow} ; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++) {
                    for(my $iC = $oWkS->{MinCol} ; defined $oWkS->{MaxCol} && $iC <= $oWkS->{MaxCol} ; $iC++)  {
                            $oWkC = $oWkS->{Cells}[$iR][$iC];
                            print $oWkC->Value,"\t" if($oWkC);
                    }
                    print "\n";
            }
    }

    输入为xls格式,集群下可用。

    txt2excel.pl

    #!/usr/bin/perl
    use strict;
    use Encode qw(decode);
    use Spreadsheet::WriteExcel;
    my $workbook = Spreadsheet::WriteExcel->new("$ARGV[0].xls");
    my $worksheet = $workbook->add_worksheet();
    # Row and column are zero indexed
    my $row = 0;
    open IN,$ARGV[0] or die $!;
    while(<IN>){
            chomp;my @s = split;
            my $col = 0;
            foreach my $token(@s){
                    $worksheet->write_string($row,$col,decode('gb2312',$token));
                    $col++;
            }
            $row++;
    }
    close IN;

  • 相关阅读:
    《机器学习十讲》学习报告七
    找到每个人的任务
    牛客每个人最近的登陆日期
    考试分数(一)
    牛客的课程订单分析(一)
    实习广场投递简历分析(一)
    sql 查找最晚入职员工信息
    sql 学习笔记
    shell 编程获取文件名后缀为特定字符的函数
    im的基本思路
  • 原文地址:https://www.cnblogs.com/xianghang123/p/2717254.html
Copyright © 2011-2022 走看看