Python 2.7 修改包含图形和图表的现有xlsx工作表

Python 2.7 修改包含图形和图表的现有xlsx工作表,python-2.7,perl,Python 2.7,Perl,我已经有了xlsx,它由9页组成,其中1-7页由图形组成,而8和9页是空白的。我需要做的是在第8页和第9页写一些数据。我使用python尝试了这个方法,但是在xlsx工作表中写入数据之后,图形和图表消失了 下面的代码我尝试了下面的perl代码来修改现有的xls工作表 注意:这里我将xlsx转换为xls并重新使用 但结果是删除了图形和图表。 有谁能帮我在perl或python中做同样的事情吗 提前感谢。此代码将保留旧代码,并允许您添加一些新代码: use strict; use warnings;

我已经有了xlsx,它由9页组成,其中1-7页由图形组成,而8和9页是空白的。我需要做的是在第8页和第9页写一些数据。我使用python尝试了这个方法,但是在xlsx工作表中写入数据之后,图形和图表消失了

下面的代码我尝试了下面的perl代码来修改现有的xls工作表
注意:这里我将xlsx转换为xls并重新使用

但结果是删除了图形和图表。 有谁能帮我在perl或python中做同样的事情吗


提前感谢。

此代码将保留旧代码,并允许您添加一些新代码:

use strict;
use warnings;

use Excel::Writer::XLSX;
use Spreadsheet::Read;
use Data::Dumper;

# read the file
my $book = ReadData ('Factura.xls');
my @data;
my @sheets = (0..1);
my $workbook  = Excel::Writer::XLSX->new( 'Factura_1.xls' );
my $worksheet;
# save the old data 
foreach my $sheet (1 .. ($#sheets+1)) {
   my @rows = Spreadsheet::Read::rows($book->[$sheet]);
   $worksheet = $workbook->add_worksheet($sheet);
  foreach my $i (1 .. scalar @rows) {
    foreach my $j (1 .. scalar @{$rows[$i-1]}) {
       $worksheet->write($i-1, $j-1, $rows[$i-1][$j-1] );
       my $chart = $workbook->add_chart( type => 'bar',  embedded => 1); 
     $chart->add_series(
      name   => '='."1".'!$A$0',
      values => '='."1".'!$A$2:$A$15',
   );
   $worksheet->insert_chart( 'E2', $chart, 25, 10 );
    }
  }

}

# write new data 
$worksheet = $workbook->add_worksheet(3);
$worksheet->write( 0, 0, 'New string' );

您尝试过电子表格::XLSX吗?感谢您的回复,但在新的excel工作表中仍然看不到图形、字体和格式…Hi@Hiten Chedda我插入了一些小的表格来创建图表。
use strict;
use warnings;

use Excel::Writer::XLSX;
use Spreadsheet::Read;
use Data::Dumper;

# read the file
my $book = ReadData ('Factura.xls');
my @data;
my @sheets = (0..1);
my $workbook  = Excel::Writer::XLSX->new( 'Factura_1.xls' );
my $worksheet;
# save the old data 
foreach my $sheet (1 .. ($#sheets+1)) {
   my @rows = Spreadsheet::Read::rows($book->[$sheet]);
   $worksheet = $workbook->add_worksheet($sheet);
  foreach my $i (1 .. scalar @rows) {
    foreach my $j (1 .. scalar @{$rows[$i-1]}) {
       $worksheet->write($i-1, $j-1, $rows[$i-1][$j-1] );
       my $chart = $workbook->add_chart( type => 'bar',  embedded => 1); 
     $chart->add_series(
      name   => '='."1".'!$A$0',
      values => '='."1".'!$A$2:$A$15',
   );
   $worksheet->insert_chart( 'E2', $chart, 25, 10 );
    }
  }

}

# write new data 
$worksheet = $workbook->add_worksheet(3);
$worksheet->write( 0, 0, 'New string' );