-1

perl Excel データで指定された Excel データから棒グラフを描画します: 毎週動的に変化します。私はそれを自動化したかった。

===============================

以下はプログラムです:

  • Excel にサンプル データがあります。データは、各科目で学生が取得した名前とマークです。
  • エクセルのグラフを描きたいです。

    #!/usr/local/bin/perl
      print "Content-type: text/html\n\n"; 
      use strict; 
      use Win32::OLE;
      use Win32::OLE::Const 'Microsoft Excel';
      use Spreadsheet::ParseExcel; 
      use Spreadsheet::ParseExcel::SaveParser;
    
     my $parser   = new Spreadsheet::ParseExcel::SaveParser;
         my $workbook = $parser->Parse('Nilu.xls');
    
     my $worksheet1 = $workbook->worksheet('Worksheet1'); 
     $worksheet1->activate();
    
    my ( $row_min, $row_max ) = $worksheet1->row_range(); 
    my ( $col_min, $col_max ) = $worksheet1->col_range(); 
    
    print "row min:$row_min row_max:$row_max col_max:$col_max\n\n";
    
        my $worksheet2 = my $parser->add_worksheet( 'Worksheet2' );
    
    #$parser->add_worksheet( 'Worksheet2' );
    

    $worksheet2->activate();

    # Create a new chart object. In this case an embedded chart.
    my $chart1 = $workbook->add_chart( type => 'column', embedded => 1 );
    
    
    # Configure the first series.
    

    $chart1->add_series( name => '=Sheet1!$B$1', カテゴリ => "=Sheet1!\$A\$2:\$A:$row_max", 値 => "=Sheet1!\$B\ $2:\$B:$row_max", );

    # Set an Excel chart style. Blue colors with white outline and shadow.
    $chart1->set_style( 11 );
    
    # Insert the chart into the worksheet (with an offset).
    $worksheet2->insert_chart( 'F2', $chart1, 25, 10 );
    
     # Write over the existing file or write a new file.
    $parser -> SaveAs('Nilu1.xls');
    
4

2 に答える 2

0

これは、Perl を使用して Excel で棒グラフを描画する例です。

グラフを含む既存のファイルを Perl で更新するのは (Windows で Win32::OLE を使用する場合を除いて) 簡単ではないので、毎週 Excel ワークブックを生成することをお勧めします。

于 2012-11-27T14:08:45.683 に答える
0

Spreadsheet::ParseExcel を使用して Excel シートを解析 (またはそれらを CSV データとしてエクスポートしてから Text::CSV_XS を使用) し、棒グラフを描画するために Chart モジュールなどを使用できます。

より正確な回答を得るには、特に次の情報が必要です。

  • サンプル入力データ
  • サンプルチャート
  • そして、「perl Excel データ」とは正確には何を意味するのでしょうか?
于 2012-11-27T06:36:51.533 に答える