當前位置:首頁 » 編程語言 » java報表

java報表

發布時間: 2022-02-02 01:43:21

1. java做報表

資料庫中需要的數據處理後做成可視化圖表,根據不同需求可以做成不同形式的圖表,節省時間,效果比較好,報表軟體國外的話水晶報表,SAP公司的商業報表工具,作為SAP「集團」下的報表組件模塊。10年事前盛行一時,後被SAP收購。但水晶報表(Crystal Report)在理論上只支持單數據集,對多集的支持依賴於資料庫的運算能力(叉乘與聯合等或寫存儲過程),多庫一般難以支持。

國內的話FineReport,目前國內報表軟體領域發展最成熟也是市場份額最高的。IDC的報告里,17年甚至超過SAP,IBM,在這個細分領域,也是Gartner的BI選型市場指南里唯一推薦的報表工具。零代碼開發,類似excel的設計方式,上手簡單。尤其數據字典、實際值和顯示值等的設計更是切入快速開發的要害,這些放在別的語言和體系下往往要大量代碼才能實現且頻繁需要的功能放在FineReport里卻只是幾個操作的事情。移動端報表+可視化大屏。

2. java報表怎麼做

用我現在用的finereport來和題主說下餅圖吧,它也是web報表工具。

打開報表,設置百分比數據模板

符合餅圖和復合條餅圖只支持百分比的系列分隔方式,因此我們計算每個地區的應付金額所佔比例是多少,隱藏B列,在C1中輸入佔比,C2中輸入公式:=B2/SUM(B2[!0]),B2[!0]是B2擴展出來的所有單元格,根據情況設置單元格樣式等操作。

下面以製作符合餅圖為例,選中圖表,勾線圖表屬性表-樣式>系列中的第二繪圖區,將第二繪圖區小於百分比的數據改為10,默認為5,表示第二繪圖區包含所有小於該百分比的值為:如下圖:

根據情況可設置系列標簽樣式,勾選圖表屬性表-樣式>標簽中的標簽,選中值,設置格式,百分比保留兩位小數。

修改圖表數據

修改圖表屬性表-數據>圖例項值為C2單元格,復合餅圖則可設置完成。

預覽與保存

保存模板,點擊分頁預覽,即可看到效果。

3. java 如何實現生成報表功能

java生成報表功能,需要自己手動去寫,你可以使用第三方的api,集成到你的程序中,這樣可以快速實現報表功能。

盈帆報表可以為你提供你需要的api,幫助你實現報表功能,製作出各種復雜報表。更多信息你可以訪問:efreport.com

4. java免費報表

這些開源的報表主要是看你有什麼樣的需求來使用!要大量的繪制圖表,肯定是用JFreeChart,平常的就用JasperReports就夠了!

OpenReports提供基於web的靈活報表解決方案,通過瀏覽器自動生成動態PDF,XLS,HTMLCSV和Chart報表。利用到的開源技術有Hibernate,Veloctiy,Webwork。

JFreeChart它主要是用來製作各種各樣的圖表,這些圖表包括:餅圖、柱狀圖(普通柱狀圖以及堆棧柱狀圖)、線圖、區域圖、分布圖、混合圖、甘特圖以及一些儀表盤等等。

JasperReports是一個基於Java的開源報表工具,它可以在Java環境下像其它IDE報表工具一樣來製作報表。JasperReports支持PDF、HTML、XLS、CSV和XML文件輸出格式。JasperReports是當前Java開發者最常用的報表工具。

JFreeReport是一個用來生成報表的Java類庫。它為Java應用程序提供一個靈活的列印功能並支持輸出到列印機和PDF, Excel, HTML和XHTML, PlainText, XML和CSV文件中。

5. java怎麼做報表功能

使用 JFreeChart 生成各種樣式的圖表
限於篇幅的問題我們在這里只實現兩種常用的圖表,其他類型圖表讀者可以觸類旁通。我們先給出柱狀圖的實現,餅圖的實現再來跟柱狀圖進行比較。

1 柱狀圖
package lius.chart.demo;
import java.io.*;
import org.jfree.data.*;
import org.jfree.chart.*;
import org.jfree.chart.plot.*;
/**
* 該類用於演示最簡單的柱狀圖生成
* @author Winter Lau
*/
public class BarChartDemo {
public static void main(String[] args) throws IOException{
CategoryDataset dataset = getDataSet2();
JFreeChart chart = ChartFactory.createBarChart3D(
"水果產量圖", // 圖表標題
"水果", // 目錄軸的顯示標簽
"產量", // 數值軸的顯示標簽
dataset, // 數據集
PlotOrientation.VERTICAL, // 圖表方向:水平、垂直
true, // 是否顯示圖例(對於簡單的柱狀圖必須是 false)
false, // 是否生成工具
false // 是否生成 URL 鏈接
);

FileOutputStream fos_jpg = null;
try {
fos_jpg = new FileOutputStream("D:\\fruit.jpg");
ChartUtilities.writeChartAsJPEG(fos_jpg,100,chart,400,300,null);
} finally {
try {
fos_jpg.close();
} catch (Exception e) {}
}
}
/**
* 獲取一個演示用的簡單數據集對象
* @return
*/
private static CategoryDataset getDataSet() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, null, "蘋果");
dataset.addValue(200, null, "梨子");
dataset.addValue(300, null, "葡萄");
dataset.addValue(400, null, "香蕉");
dataset.addValue(500, null, "荔枝");
return dataset;
}
/**
* 獲取一個演示用的組合數據集對象
* @return
*/
private static CategoryDataset getDataSet2() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "北京", "蘋果");
dataset.addValue(100, "上海", "蘋果");
dataset.addValue(100, "廣州", "蘋果");
dataset.addValue(200, "北京", "梨子");
dataset.addValue(200, "上海", "梨子");
dataset.addValue(200, "廣州", "梨子");
dataset.addValue(300, "北京", "葡萄");
dataset.addValue(300, "上海", "葡萄");
dataset.addValue(300, "廣州", "葡萄");
dataset.addValue(400, "北京", "香蕉");
dataset.addValue(400, "上海", "香蕉");
dataset.addValue(400, "廣州", "香蕉");
dataset.addValue(500, "北京", "荔枝");
dataset.addValue(500, "上海", "荔枝");
dataset.addValue(500, "廣州", "荔枝");
return dataset;
}
}

2 餅圖
package lius.chart.demo;
import java.io.*;
import org.jfree.data.*;
import org.jfree.chart.*;
/**
* 用於演示餅圖的生成
* @author Winter Lau
*/
public class PieChartDemo {
public static void main(String[] args) throws IOException{
DefaultPieDataset data = getDataSet();
JFreeChart chart = ChartFactory.createPie3DChart("水果產量圖", // 圖表標題
data,
true, // 是否顯示圖例
false,
false
);
// 寫圖表對象到文件,參照柱狀圖生成源碼
}
/**
* 獲取一個演示用的簡單數據集對象
* @return
*/
private static DefaultPieDataset getDataSet() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("蘋果",100);
dataset.setValue("梨子",200);
dataset.setValue("葡萄",300);
dataset.setValue("香蕉",400);
dataset.setValue("荔枝",500);
return dataset;
}
}
3將生成的圖表移到瀏覽器上
package lius.chart.demo;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import org.jfree.data.*;
import org.jfree.chart.*;
/**
* 演示通過 servlet 直接輸出圖表
* @author Winter Lau
*/
public class ChartDemoServlet extends HttpServlet {
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException
{
res.setContentType("image/jpeg");
DefaultPieDataset data = getDataSet();
JFreeChart chart = ChartFactory.createPie3DChart("水果產量圖",
data,
true,
false,
false
);

ChartUtilities.writeChartAsJPEG(res.getOutputStream(),
100,chart,400,300,null);
}
/**
* 獲取一個演示用的簡單數據集對象
* @return
*/
private static DefaultPieDataset getDataSet() {
DefaultPieDataset dataset = new DefaultPieDataset();
dataset.setValue("蘋果",100);
dataset.setValue("梨子",200);
dataset.setValue("葡萄",300);
dataset.setValue("香蕉",400);
dataset.setValue("荔枝",500);
return dataset;
}
}

4高級主題
很多情況我們不僅僅要求可以在瀏覽器上顯示一個圖表,我們更需要客戶可以直接在圖表上做一下交互的操作,例如獲取信息提示,點擊圖表某個部分進行更詳細信息的展示等等。例如前面生成的簡單柱狀圖,用戶需要在看到柱狀圖後點擊某種水果例如是蘋果即可看到各個地區蘋果產量的情況。為此就要求該圖形具有交互操作的功能。在 HTML 中為了讓一個圖像具有可交互的功能就必須給該圖像定義一個 Map 對象。下表節選一段具有該功能的 HTML 代碼:
<MAP NAME="chartMap">
<AREA SHAPE="RECT" COORDS="81,15,126,254" href="?series=0&category=100"
title="100 = 7,048"
onclick="javascript:clickChart('100');return false;">
<AREA SHAPE="RECT" COORDS="143,27,188,255" href="?series=0&category=200"
title="200 = 6,721"
onclick="javascript: clickChart ('200');return false;">
<AREA SHAPE="RECT" COORDS="205,54,250,255" href="?series=0&category=300"
title="300 = 5,929"
onclick="javascript: clickChart ('300');return false;">
<AREA SHAPE="RECT" COORDS="267,85,312,255" href="?series=0&category=400"
title="400 = 5,005"
onclick="javascript: clickChart ('400');return false;">
<AREA SHAPE="RECT" COORDS="329,17,374,255" href="?series=0&category=Diet"
title="Diet = 7,017" onclick="javascript:
clickChart ('Diet');return false;">
</MAP>

由此就產生了一個問題:如果根據一個圖像來生成對應的 MAP 對象。我們回頭看看剛才的代碼,在創建一個圖表對象時候有兩個參數,我們舉柱狀圖的例子來講這兩個參數就是 ChartFactory. createBarChart3D 方法中的最後兩個參數,這兩個參數的類型都是布爾值。這兩個參數意思分別是:是否創建工具提示 (tooltip) 以及是否生成 URL。這兩個參數分別對應著 MAP 中一個 AREA 的 title 屬性以及 href 屬性。
可是我想知道的是怎麼來產生這個 MAP 啊!哈哈,不要著急,JFreeChart 已經幫我們做好生成 MAP 對象的功能。為了生成 MAP 對象就要引入另外一個對象:ChartRenderingInfo。因為 JFreeChart 沒有直接的方法利用一個圖表對象直接生成 MAP 數據,它需要一個中間對象來過渡,這個對象就是 ChartRenderingInfo。

6. java 實現報表統計

java本身沒有操作excel的工具,需要第三方的jar包,用jxl就可以,代碼入下。
jxl你上網路搜索後下載就可以,簡單易用,不懂追問。
public boolean exportExcel(HttpServletResponse response,List<cityinfo> list)
{
try
{
OutputStream os = response.getOutputStream();// 取得輸出流
response.reset();// 清空輸出流
response.setHeader("Content-disposition", "attachment; filename=fine.xls");// 設定輸出文件頭
response.setContentType("application/msexcel");// 定義輸出類型

WritableWorkbook wbook = Workbook.createWorkbook(os); // 建立excel文件
String tmptitle = "標題"; // 標題
WritableSheet wsheet = wbook.createSheet("詳細信息表", 0); // sheet名稱
WritableSheet wsheet = wbook.createSheet("性別統計表", 1); // sheet名稱
WritableSheet wsheet = wbook.createSheet("證件類型統計表", 2); // sheet名稱

// 設置excel標題
WritableFont wfont = new WritableFont(WritableFont.ARIAL, 16,WritableFont.BOLD,
false,UnderlineStyle.NO_UNDERLINE,Colour.BLACK);
WritableCellFormat wcfFC = new WritableCellFormat(wfont);
wcfFC.setBackground(Colour.AQUA);
wsheet.addCell(new Label(1, 0, tmptitle, wcfFC));
wfont = new jxl.write.WritableFont(WritableFont.ARIAL, 14,WritableFont.BOLD,
false, UnderlineStyle.NO_UNDERLINE,Colour.BLACK);
wcfFC = new WritableCellFormat(wfont);

// 開始生成主體內容
wsheet.addCell(new Label(0, 2, "具體內容"));

for(int i=0;i<list.size();i++) <br="">{
wsheet.addCell(new Label(0, i+3, "");
wsheet.addCell(new Label(1, i+3,"");

}
// 主體內容生成結束
wbook.write(); // 寫入文件
wbook.close();
os.close(); // 關閉流
return true;
}
catch(Exception ex)
{
ex.printStackTrace();
return false;
}
}

7. 目前大家在java開發中使用什麼報表工具

國產報表也就兩家獨大,南帆軟北潤乾,基本功能都差不多。

8. java製作報表教程

http://www.51zxw.net/study.asp?vip=1360036
那就在給你介紹個自學視頻網址吧...各個軟體的視頻教程都有....特別針對初學者的..老師講得也很好...比較容易理解...
針對初學者

9. 怎麼用java做一份報表

把資料庫中需要的數據處理後做成可視化圖表,根據不同需求可以做成不同形式的圖表,節省時間,效果比較好,java報表軟體推薦:國外的話水晶報表,SAP公司的商業報表工具,作為SAP「集團」下的報表組件模塊。10年事前盛行一時,後被SAP收購。但水晶報表(Crystal Report)在理論上只支持單數據集,對多集的支持依賴於資料庫的運算能力(叉乘與聯合等或寫存儲過程),多庫一般難以支持。

國內的話FineReport,目前國內報表軟體領域發展最成熟也是市場份額最高的。IDC的報告里,17年甚至超過SAP,IBM,在這個細分領域,也是Gartner的BI選型市場指南里唯 一推薦的報表工具。零代碼開發,類似excel的設計方式,上手簡單。

10. java開發報表

首先你要學習一個報表工具,大致明白這個報表的開發過程與運行機理等,建議你下載Grid++Report看看,這個報表很容易上手,安裝後有 jsp 例子,現把例子運行看看,再適當看看WEB報表開發方面的幫助,這樣去面試應該就能頭頭是道的說出來了。

熱點內容
騰訊招聘php 發布:2024-04-25 15:17:02 瀏覽:444
雲伺服器多個公網ip搭建 發布:2024-04-25 15:13:15 瀏覽:845
phpmysqlupdate 發布:2024-04-25 15:08:15 瀏覽:253
隨時解壓 發布:2024-04-25 14:58:11 瀏覽:68
三率源碼 發布:2024-04-25 14:42:41 瀏覽:468
javastring轉string數組 發布:2024-04-25 14:42:10 瀏覽:137
飢荒如何更改密碼 發布:2024-04-25 14:42:02 瀏覽:743
百度雲如何解壓zip 發布:2024-04-25 14:38:57 瀏覽:570
母豬怎麼配置最好 發布:2024-04-25 14:35:47 瀏覽:76
php按鈕代碼 發布:2024-04-25 14:32:10 瀏覽:726