java/word+fusionchart組建圖表

來源:互聯網
上載者:User

一個朋友的項目裡用到了fusionchart,同時需要提供多個報表的word下載功能。

毫無疑問,只是一個很棘手的問題。

fusionchart提供了服務端和用戶端產生圖片的功能,都是基於client端展示了flash以後做的。

朋友的項目是基於linux的,office本身的那套com機制是沒辦法通過jacob調用了。

純java的操作word,POI和docx4j,可以產生word文檔,table,插入圖片。

一個可行的思路是點擊下載報表時,先在一個新頁面開啟各個flash的圖表,再依次調用fusoinchart的功能在伺服器端產生圖片,

最後js再調用servlet產生doc,同時把上一步產生的各個圖片插入到文檔內。

這個曲線救國的策略效能非常低下。

第二個想法是直接在word中插入flash,作為ole到word中的形式,同時跟其他內容混排。這個方式應該效能應該是ok的,由word開啟後去即時渲染flash。

但是發現word如果使用OLE doc的方式,不能使用HWPF了,只能自己一點點的拼BIFF檔案,這實在不好做,而且還不知道OLE進去了能不能展示。

放棄之。PS:發現WSPH處理ppt的功能裡有對ActiveX的簡單支援。。。我去。。

第三個想法是拿到產生chart的資料,直接用office的圖表功能,可惜的是發現HWPF裡沒有這功能,HSSF處理excel的功能裡才有。

最後一個方法比較簡單可行,效能尚可,後台用jfreechart產生圖片,然後產生word文檔。

壞處是,圖表風格跟fusion不一致。jfree太醜了。但是這個方法是目前能想到最合適的方法了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.