用過潤乾報表和smartbi,潤乾報表是類excel開發頁面,而smartbi是在excel基礎上開發的
兩個產品都回包含了答常規報表工具的功能點:數據讀取處理、圖形化分析、填報等
從應用精簡度和操作上來說,建議使用潤乾報表,另外潤乾報表的價位是很低也是透明的,避免了中間商賺差價
圖形份上,潤乾報表中也可以使用echarts統計圖,同時也支持echarts的導出列印,避免了二次開發的工作量
㈡ 支持Java的報表工具都有哪些
Java報表工來具,首先可以分成兩源大類:純Java報表工具,和支持Java的報表工具。
支持Java的報表工具 :
我們所說的」支持」Java的報表工具.其實就是非Java的報表工具,但是可以在Java程序中調用. 這樣的產品很多,總的講一大類是採用獨立報表伺服器的,如Bo/Crystal Report,Brio,Cognos,和勤等;另一大類是在前端有控制項的,如數巨報表等。
純Java報表工具
純Java的報表工具,就是用java語言編寫的報表工具,包括報表引擎、內核、設計器界面、操作等。主要的有:Style Report,Jasper Report,birt報表,FineReport,ireport,傑表等。
㈢ java中怎麼樣實現圖形報表啊
FineReport就是純java編寫的報表工具,有豐富的圖表功能,不僅提供了常見的圖表類型。其中版包括權:條形圖、柱狀圖、折線圖、面積圖、餅圖、散點圖、雷達圖、儀表盤等,還支持多種類型的組合顯示,並可以集成第三方圖表。
你可以查閱一下相關的文檔,網路文庫中就有。
㈣ java 有哪些免費報表工具啊,可以報表列印。
推薦潤乾報表,潤乾報表今年有推出免費版,可以從潤乾報表官網下載試用
潤乾版報表設計頁面是權類似excel的,而且內置了很多常用函數,更便於繪制報表。而且提供了三種列印方式:applet、pdf、flash供用戶選擇使用,批量列印方面支持applet和pdf兩種列印方式。
㈤ 利用java怎麼實現生成報表(Excel文件)
這是從Tabel導出數據到Excel的一個例子:jxl.jar包你可以去網上找,有很多資源,如果沒找到,也可以留個郵箱,我發給你
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.format.VerticalAlignment;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
public class TableToExcel {
public static void export(File file,String heading,String note,JTable table) {
WritableWorkbook workbook = null;// 創建工作薄
try {
if(file.exists()) {//如果文件存在
workbook = Workbook.createWorkbook(file, Workbook.getWorkbook(file));
} else {//如果文件不存在
workbook = Workbook.createWorkbook(file);
}
// 創建工作表
WritableSheet sheet = workbook.createSheet(heading, workbook.getNumberOfSheets());
//獲取jtable 的行數和列數
int rowNum = table.getRowCount();
int colNum = table.getColumnCount();
fillHeader(sheet,heading,colNum);//填寫主標題
fillColName(sheet,table,colNum);//填寫列名
fillCell(sheet,table,colNum,rowNum);// 填寫數據
fillNote(sheet,note,colNum,rowNum);//填寫簽名檔
workbook.write();//寫入數據
workbook.close();//關閉
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "導入數據前請關閉工作表");
} catch (BiffException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
/**
* 填寫 表標題
* @param sheet
* @param heading
* @param colNum
* @throws WriteException
*/
private static void fillHeader(WritableSheet sheet,String heading,int colNum) throws WriteException {
WritableFont font = new WritableFont(WritableFont.ARIAL, 18, WritableFont.BOLD,false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK);//設置字體
WritableCellFormat format = new WritableCellFormat(font);//新建格式化對象
format.setAlignment(Alignment.CENTRE);//設置水平居中對齊
format.setVerticalAlignment(VerticalAlignment.CENTRE);//設置垂直居中對齊
sheet.mergeCells(0,0, colNum-1, 0);//合並單元格
sheet.setRowView(0, 600); // 設置行高
sheet.addCell(new Label(0,0,heading,format));//填寫主標題
}
/**
* 填寫列名
* @param sheet
* @param table
* @param colNum
* @throws WriteException
*/
private static void fillColName(WritableSheet sheet,JTable table,int colNum) throws WriteException {
WritableFont font = new WritableFont(WritableFont.ARIAL,12,WritableFont.NO_BOLD);//設置字體
WritableCellFormat format = new WritableCellFormat(font);//新建格式化對象
format.setAlignment(Alignment.CENTRE);//設置水平居中對齊
sheet.setColumnView(0, 15);// 設置列寬
for(int col = 0; col < colNum;col++) {
Label colName = new Label(col,1,table.getModel().getColumnName(col),format);
sheet.addCell(colName);
}
}
/**
* 填寫表格數據到excel
* @param sheet
* @param table
* @param colNum
* @param rowNum
* @throws WriteException
*/
private static void fillCell(WritableSheet sheet,JTable table,int colNum,int rowNum) throws WriteException {
WritableFont font = new WritableFont(WritableFont.ARIAL,12,WritableFont.NO_BOLD);//設置字體
WritableCellFormat format = new WritableCellFormat(font);//新建格式化對象
format.setAlignment(Alignment.CENTRE);//設置水平居中
for(int col = 0;col < colNum;col++) {
for(int row = 1;row <= rowNum -1;row++) {//填寫數據
String value = "";
if(table.getModel().getValueAt(row -1, col) != null)
value = table.getModel().getValueAt(row -1, col).toString();
sheet.addCell(new Label(col,row + 1,value));
}
}
}
/**
* 填寫 簽名檔
* @param sheet
* @param inscribe
* @param colNum
* @param rowNum
* @throws WriteException
*/
private static void fillNote(WritableSheet sheet,String inscribe,int colNum,int rowNum) throws WriteException {
if( inscribe == null || inscribe.length() < 1 ) {
inscribe = "導出時間: "+ new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
}
WritableFont font = new WritableFont(WritableFont.ARIAL, 9, WritableFont.NO_BOLD,
false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK);// 定義字體
WritableCellFormat format = new WritableCellFormat(font);// 定義格式化對象
format.setAlignment(Alignment.RIGHT);// 水平居中顯示
sheet.mergeCells(0, rowNum+3, colNum - 1, rowNum+3);// 合並單元格
sheet.addCell(new Label(0, rowNum+3, inscribe, format));// 填寫工作表
}
}
㈥ 求推薦一款性價比高的JAVA報表工具
如果考慮性價比的話,推薦潤乾報表,十幾年的報表工具廠商,功能的話沒問題。
㈦ java做報表
把資料庫中需要的數據處理後做成可視化圖表,根據不同需求可以做成不同形內式的圖表,節省容時間,效果比較好,報表軟體國外的話水晶報表,SAP公司的商業報表工具,作為SAP「集團」下的報表組件模塊。10年事前盛行一時,後被SAP收購。但水晶報表(Crystal Report)在理論上只支持單數據集,對多集的支持依賴於資料庫的運算能力(叉乘與聯合等或寫存儲過程),多庫一般難以支持。
國內的話FineReport,目前國內報表軟體領域發展最成熟也是市場份額最高的。IDC的報告里,17年甚至超過SAP,IBM,在這個細分領域,也是Gartner的BI選型市場指南里唯一推薦的報表工具。零代碼開發,類似excel的設計方式,上手簡單。尤其數據字典、實際值和顯示值等的設計更是切入快速開發的要害,這些放在別的語言和體系下往往要大量代碼才能實現且頻繁需要的功能放在FineReport里卻只是幾個操作的事情。移動端報表+可視化大屏。
㈧ java 實現報表統計
你可以Jxcell進行導出,你說的那個很好解決,主要是在sheet裡面設置一下,這樣第一個sheet就為回「詳細信息表」,第二答個sheet就為「性別統計表」,第三個sheet就為「證件類型統計表」,有不懂 再問我