2010-04-23 28 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文件進行排序。

相關問題