Java圖表繪製和操作excel表格
阿新 • • 發佈:2019-02-01
今天學習了Java中使用JFreeChart,POI,JXL繪製圖表,操作excel表格問題,自己動手了寫了些小demo,不足之處,請大家指正。謝謝。 ^_^
完整的類檔案在附件中。並附上一張截圖
====================================
程式碼『片段』
====================================
完整的類檔案在附件中。並附上一張截圖
====================================
程式碼『片段』
====================================
/** * 根據資料設定圖表的相關資訊 * @param categoryDataset * @return */ public static JFreeChart createJFreeChart(CategoryDataset categoryDataset) { /** * 設定圖表的相關資訊,其引數依次為: * 圖表標題,縱座標顯示提示,橫座標顯示提示,要顯示的資料 * 設定要顯示圖示柱狀的橫向或縱向.HORIZONTAL表示縱向,VERTICAL表示橫向 * 後面三個boolean型的引數: * 第一個表示是否顯示柱狀圖例,true為顯示,false為不顯示 */ JFreeChart chart = ChartFactory.createBarChart("學生人數統計", "省份", "數量", categoryDataset, PlotOrientation.VERTICAL, true, true, false); // 設定背景顏色 chart.setBackgroundPaint(Color.WHITE); CategoryPlot cateforyPlot = chart.getCategoryPlot(); cateforyPlot.setBackgroundPaint(Color.WHITE); cateforyPlot.setDomainGridlinePaint(Color.WHITE); // 設定是否可見 cateforyPlot.setDomainGridlinesVisible(true); // 設定柱狀的顏色 cateforyPlot.setRangeGridlinePaint(Color.BLUE); return chart; } /** * 生成二維的柱狀圖 * @param session 客戶端當前session * @param out 輸出流 * @return 返回所生成圖片的URL */ public static String getBarChartURL(HttpSession session, PrintWriter out) { String fileName = ""; //呼叫靜態的方法獲取資料集 CategoryDataset categoryDataset = getDataSet(); //呼叫類中靜態方法建立圖表物件 JFreeChart chart = createJFreeChart(categoryDataset); ChartRenderingInfo chartInfo = new ChartRenderingInfo( new StandardEntityCollection()); try { //將生成的圖片以PNG檔案格式顯示 fileName = ServletUtilities.saveChartAsPNG(chart, 500, 300, chartInfo, session); } catch (IOException e) { e.printStackTrace(); } try { //向客戶端顯示圖片 ChartUtilities.writeImageMap(out, fileName, chartInfo, true); } catch (IOException e) { e.printStackTrace(); } out.flush(); return fileName; }