2010-04-23 47 views
0

我以前csv2xls.pl到一个文本日志转换成.xls格式,然后我创建一个图表,如下:如何使用Spreadsheet :: WriteExcel从数字日志数据创建图表?

my $chart3 = $workbook->add_chart(type => 'line' , embedded => 1); 

# Configure the series. 
$chart3->add_series(
    categories => '=Sheet1!$B$2:$B$64', 
    values  => '=Sheet1!$C$2:$C$64', 
    name  => 'Test data series 1', 
); 

# Add some labels. 
$chart3->set_title(name => 'Bridge Rate Analysis'); 
$chart3->set_x_axis(name => 'Packet Size '); 
$chart3->set_y_axis(name => 'BVI Rate'); 

# Insert the chart into the main worksheet. 
$worksheet->insert_chart('G2', $chart3); 

我可以看到图中的.xls文件。但是,所有数据都是文本格式,而不是数字,因此图表看起来不正确。

在应用此创建图表功能之前,如何将文本转换为数字?

另外,如何在创建图表之前对.xls文件进行排序?

回答

0

做Excel中的方法是在这个插在不同的细胞:

=value(trim(clean(a1))) 

其中,A1是含有快到了文本的原始数据的单元格。然后使用此单元格参考进行制图。

HTH

2

如果Excel显示数据为文本,那么你所创建的细胞为文本。

您从csv2xls.pl中省略了代码,因此很难猜测确切的问题是什么。可能您正在使用Spreadsheet :: WriteExcel方法write_string()而不是write_number()或通用的write()

另外,如何在创建图表之前对.xls文件进行排序?

Excel文件格式没有排序选项。文件加载完成后,由Excel进行排序。解决方案是在使用Sreadsheet :: WriteExcel将其转换之前对输入的CSV文件进行排序。

相关问题