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;

  • 相关阅读:
    隐藏TabControl的标签 上海
    最近写的一个存储过程 上海
    DBUS 介绍 上海
    存储过程 几个小例子 上海
    C# BHO 上海
    EXEC和sp_executesql的区别 上海
    office文档转换成mht文档(准备、原理篇) 上海
    Dictionary 排序 上海
    .Net 开源资源 上海
    Geant4.9.5.p01 in ubuntu12.04 OpenGL driver.
  • 原文地址:https://www.cnblogs.com/xianghang123/p/2717254.html
Copyright © 2011-2022 走看看