2017-05-05 7 views
-2

私はXLSテーブルを持っています。各セルは純粋なテキスト(改行あり)の値を持っています。 特定のセルの値を(行番号と列番号で)テキストファイルにエコーするには、bash/perlを使用する必要があります。スクリプトの アイデア:Perl/Bash:特定の.XLSセルの値をテキストファイルにエコーする

inputxls="$1" column="$2" row="$3" outputtextfile="$4"

スクリプトを呼び出す:テキストファイルへの スクリプトtable.xls 5 3 celltext.txt

出力は次のようになります。

foo bar bar foo (新規性を尊重行番号

これはテキストのみで入力された.xlsで動作するため、数学で作業する必要はありません。 アイデア

+1

[PerlでExcelファイルを解析するための最良の方法は何ですか?](http://stackoverflow.com/questions/429193/whats-the-best-way-to-parse-excel-fileの可能性のある重複-in-perl)である。これは古い質問ですが、実際にはXLSではなくXLSXであれば、それでも正しいです。そこには他のモジュールもあります。 –

+0

特定のセルを(行と列番号で)出力する方法については、その答えで見つけることができません。 – nagualcode

+0

トップの回答には、特定のセルからデータを取得する完全な実例が含まれています。ヒント:関連する関数はget_cellと呼ばれます。 –

答えて

0
#!/usr/bin/perl 
use strict; 
use warnings; 
use Spreadsheet::Read; 



    sub get_cell { 
    # send the file the sheet and the cell as 
    # command line arguments 
    my ($file, $sheet, $cell) = @ARGV; 
    return 0 unless $file =~ /.*\.xls/i; 
    my $book = ReadData ($file); 
    return $book->[$sheet]{$cell}; 
} 

    my $output_file = 'test.txt'; 

    open (FH, '>>', $output_file) or die "Canoot open ' $output_file' $!"; 
    print FH get_cell(); 
関連する問題