2012-07-10 88 views
-2

我的要求是在網頁中顯示MS Office excel 2007中的圖表。如何拍攝excel表單的快照/圖像?

有人可以幫助我通過任何語言正確地得到它嗎? PHP是我的首選,我沒有得到任何幫助谷歌。

我在一個excel文件內的所有工作表中都有超過1個圖表。

PHPExcel和等價的API不支持圖表導入支持,所以我唯一看到的解決方案是將excel表格導入爲圖像和顯示。在谷歌

+0

如果您看看最新版本的PHPExcel,它__does__支持圖表導入,甚至提供了一個包裝器,用於直接從xlsx工作簿中使用jpgraph – 2012-07-10 20:40:15

+0

呈現圖表感謝Mark,您有任何鏈接嗎? – 2012-07-10 20:42:33

回答

2

看看PHPExcel的/ Tests目錄中的32chartreadwrite.php。這爲使用其圖表數據讀取Excel 2007+ .xlsx文件提供了基本代碼。

$objReader = PHPExcel_IOFactory::createReader($fileType); 
$objReader->setIncludeCharts(TRUE); 
$objPHPExcel = $objReader->load($fileName); 


PHPExcel_Settings::setChartRenderer(
    PHPExcel_Settings::CHART_RENDERER_JPGRAPH, 
    dirname(__FILE__).'/../../libraries/Charts/jpgraph3.5.0b1/src' 
); 

$chart = $objPHPExcel->getSheetByName($sheetName)->getChartByName($chartName); 
$chart->render(); 

雖然它不支持的每個特徵(僅單個Y軸,例如)或每圖表類型(庫存圖表不被渲染器支持的),它可以與各種各樣的工作圖表類型。

+0

非常感謝你馬克,你的偉大工作。 – 2012-07-10 20:52:24

+0

$ objReader-> setIncludeCharts(TRUE);提供以下錯誤,沒有此聲明加載工作正常。警告:PHPExcel_Reader_Excel2007 :: load():節點不再存在於/users/pravkum4/html/tracker/PHPExcel-1.7.7/Classes/PHPExcel/Reader/Excel2007.php上行1518 注意:嘗試獲取非對象的屬性在/users/pravkum4/html/tracker/PHPExcel-1.7.7/Classes/PHPExcel/Reader/Excel2007.php上行1519 致命錯誤:致電成員函數children()上的非對象在/users/pravkum4/html/tracker/PHPExcel-1.7.7/Classes/PHPExcel/Reader/Excel2007.php上線1519 – 2012-07-11 16:56:30

+0

filetype是Excel2007 – 2012-07-11 16:58:08

1

2秒搜索「PHP圖」打動了我:

http://pchart.sourceforge.net/

一個完全開源的圖表庫...

注意,圖表不是對Excel本身的一部分。它是由Excel使用的圖表庫呈現的對象。您仍然需要從Excel電子表格中推斷數據並將其正確傳遞給您的製圖引擎...

+0

嗯我試了1個小時,你在2秒鐘內得到它,天才。我正在問從excel導入圖表。導入excel的單元格數據非常簡單,爲什麼我應該兩次做同樣的工作,一次是在excel中,另一次是在其他圖表引擎中輸入相同的數據。 – 2012-07-10 20:46:03