0

perl モジュールを使用して Windows7 で .xlsx ファイルを読み取るにはどうすればよいですか? Spreadsheet::ParseExcel を使用します。ファイルにExcelデータがないというエラーが表示されます.WindowsはExcelファイルからデータを読み取るために他のモジュールを必要としますか. 助けてください

編集: Spreadsheet::XLSX をインストールし、このプログラムを試していますが、まだ動作しません:

use Spreadsheet::ParseXLSX;
my $parser = Spreadsheet::ParseExcel->new();
my $workbook = $parser->parse('Book1.xlsx');

if ( !defined $workbook ) {
  die $parser->error(), ".\n";
}

for my $worksheet ( $workbook->worksheets() ){
  my ( $row_min, $row_max ) = $worksheet->row_range();
  my ( $col_min, $col_max ) = $worksheet->col_range();

  for my $row ( $row_min .. $row_max ) {
    for my $col ( $col_min .. $col_max ) {
      my $cell = $worksheet->get_cell( $row, $col );
      next unless $cell;
      print "Row,Col= ($row, $col)\n";
      print "Value=", $cell->value(),"\n";
      print "Unformatted=", $cell->unformatted();
    }
  }
} 
4

1 に答える 1

0

フォーマットに関係なく、データを取得するだけの場合は、使用しているオフィス ソフトウェアで を開き、.xlsxCSV 形式にエクスポートすることをお勧めします。少なくとも MS Excel と LibreOffice Calc では、これは File->を介して実行できSave As、ファイル タイプとして CSV を選択します。

結果の CSV をネイティブ Perl で解析するか、Parse::CSVのようなモジュールを使用できます。

于 2013-09-15T15:07:20.190 に答える