如何利用数据库做数据报表

2025-03-04 23:11:32
推荐回答(2个)
回答1:

给你发段代码jxl的其实poi也能做的导出的是EXcel表格package com.test;import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;public class ExcelWriter {
public static void write() {
try {
// 打开文件
WritableWorkbook book = Workbook.createWorkbook( new File( "D:/test.xls" ));
// 生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet( " 第一页 " , 0 );
// 在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
// 以及单元格内容为test
Label label = new Label( 0 , 0 , " test " ); // 将定义好的单元格添加到工作表中
sheet.addCell(label); /*
* 生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第二列,第一行,值为789.123
*/
jxl.write.Number number = new jxl.write.Number( 1 , 0 , 555.12541 );
sheet.addCell(number); // 写入数据并关闭文件
book.write();
book.close();
} catch (Exception e) {
e.printStackTrace();
}
}

public static void update(){
try {
// Excel获得文件
Workbook wb = Workbook.getWorkbook( new File( "D:/test.xls" ));
// 打开一个文件的副本,并且指定数据写回到原文件
WritableWorkbook book = Workbook.createWorkbook( new File( "D:/test.xls" ), wb);
// 添加一个工作表
// WritableSheet sheet = book.createSheet( " 第二页 " , 1 );
WritableSheet sheet = book.getSheet(0);
sheet.addCell( new Label( 0 , 1 , "test1" ));
jxl.write.Number number = new jxl.write.Number( 1 , 1 , 4444444 );
sheet.addCell(number);
book.write();
book.close();
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String args[]){
ExcelWriter.write();
ExcelWriter.update();
}
}

回答2:

用Finereport就可以实现的。它支持跨数据库数据表取数,用户可以简单应用多业务系统数据,集中数据于一张报表,让更多数据应用于经营分析和业务管控中。通过FineReport数据决策系统,用户可以搭建报表平台和报表中心,实现报表的统一访问和管理,实现财务、销售、客户、库存等各种业务主题分析、数据填报等。