报表下载JAVA代码实现,java报表开发框架

java语言 报表 显示与下载

必须要选择个合适的报表工具才能事半功倍,建议考察下锐浪报表。这样的多层表头用锐浪报表很容易做,斜线也能实现。

创新互联建站专业为企业提供江干网站建设、江干做网站、江干网站设计、江干网站制作等企业网站建设、网页设计与制作、江干企业网站模板建站服务,10年江干做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

java 代码实现下载.doc文件

%@ page contentType="text/html; charset=gb2312" %

%@ page import="java.io.*"%

%!

public String toUtf8String(String s)

{

StringBuffer sb = new StringBuffer();

for (int i=0;is.length();i++) {

char c = s.charAt(i);

if (c = 0 c = 255) {

sb.append(c);

} else {

byte[] b;

try {

b = Character.toString(c).getBytes("utf-8");

} catch (Exception ex) {

System.out.println(ex);

b = new byte[0];

}

for (int j = 0; j b.length; j++) {

int k = b[j];

if (k 0) k += 256;

sb.append("%" + Integer.toHexString(k).

toUpperCase());

}

}

}

return sb.toString();

}

%

%

String filename=new String(request.getParameter("filename").getBytes("ISO8859-1"),"GBK");

String dirName="D:/我.doc";

java.io.File ff=null;

String dd=dirName+System.getProperties().getProperty("file.separator")+filename;

try{

ff=new java.io.File(dd);

}

catch(Exception e){

System.out.println(e.getMessage());

e.printStackTrace();

}

if (ff!=nullff.exists()ff.isFile())

{

long filelength = ff.length();

InputStream inStream=new FileInputStream(dd);

//设置输出的格式

response.reset();

response.setContentType("application/x-msdownload");

response.setContentLength((int)filelength);

response.addHeader("Content-Disposition","attachment; filename=\"" + toUtf8String(filename) + "\"");

//循环取出流中的数据

byte[] b = new byte[100];

int len;

while((len=inStream.read(b)) 0)

response.getOutputStream().write(b,0,len);

inStream.close();

out.clear();

out = pageContext.pushBody();

}

%

:a href="d.jsp"aa/a

上面的那个是用流写的 但是也可以用超链接下载

你写上文件的路径就可以了

如何用JAVA语言实现报表导出

就是使用poi工具,你自己去下载poi.jar吧。

public class CreateXL

{

 public static String xlsFile="test.xls"; //产生的Excel文件的名称

 public static void main(String args[])

 {

try

{

 HSSFWorkbook workbook = new HSSFWorkbook(); //产生工作簿对象

 HSSFSheet sheet = workbook.createSheet(); //产生工作表对象

 //设置第一个工作表的名称为firstSheet

 //为了工作表能支持中文,设置字符编码为UTF_16

 workbook.setSheetName(0,"firstSheet",HSSFWorkbook.ENCODING_UTF_16);

 //产生一行

 HSSFRow row = sheet.createRow((short)0);

 //产生第一个单元格

 HSSFCell cell = row.createCell((short) 0);

 //设置单元格内容为字符串型

 cell.setCellType(HSSFCell.CELL_TYPE_STRING);

 //为了能在单元格中写入中文,设置字符编码为UTF_16。

 cell.setEncoding(HSSFCell.ENCODING_UTF_16);

 //往第一个单元格中写入信息

 cell.setCellValue("测试成功");

 FileOutputStream fOut = new FileOutputStream(xlsFile);

 workbook.write(fOut);

 fOut.flush();

 fOut.close();

 System.out.println("文件生成...");

 //以下语句读取生成的Excel文件内容

 FileInputStream fIn=new FileInputStream(xlsFile);

 HSSFWorkbook readWorkBook= new HSSFWorkbook(fIn);

 HSSFSheet readSheet= readWorkBook.getSheet("firstSheet");

 HSSFRow readRow =readSheet.getRow(0);

 HSSFCell readCell = readRow.getCell((short)0);

 System.out.println("第一个单元是:" + readCell.getStringCellValue());

}

catch(Exception e)

{

 System.out.println(e);

}

 }

}

与数据库结合使用

使用POI,结合JDBC编程技术,我们就可以方便地将数据库中的数据导出生成Excel报表。其关键代码如下:

/*把数据集rs中的数据导出至Excel工作表中。

*传入参数:数据集rs,Excel文件名称xlsName,工作表名称sheetName。

*/

public static void resultSetToExcel(ResultSet rs,String xlsName,String sheetName) throws Exception

{

 HSSFWorkbook workbook = new HSSFWorkbook();

 HSSFSheet sheet = workbook.createSheet();

 workbook.setSheetName(0,sheetName,HSSFWorkbook.ENCODING_UTF_16);

 HSSFRow row= sheet.createRow((short)0);;

 HSSFCell cell;

 ResultSetMetaData md=rs.getMetaData();

 int nColumn=md.getColumnCount();

 //写入各个字段的名称

 for(int i=1;i=nColumn;i++)

 {

cell = row.createCell((short)(i-1));

cell.setCellType(HSSFCell.CELL_TYPE_STRING);

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

cell.setCellValue(md.getColumnLabel(i));

 }

 int iRow=1;

 //写入各条记录,每条记录对应Excel中的一行

 while(rs.next())

 {row= sheet.createRow((short)iRow);;

for(int j=1;j=nColumn;j++)

{

 cell = row.createCell((short)(j-1));

 cell.setCellType(HSSFCell.CELL_TYPE_STRING);

 cell.setEncoding(HSSFCell.ENCODING_UTF_16);

 cell.setCellValue(rs.getObject(j).toString());

}

iRow++;

 }

 FileOutputStream fOut = new FileOutputStream(xlsName);

 workbook.write(fOut);

 fOut.flush();

 fOut.close();

 JOptionPane.showMessageDialog(null,"导出数据成功!");

}

利用java怎么实现生成报表(Excel文件)

JAVA POI 组件//创建HSSFWorkbook对象

HSSFWorkbook wb = new HSSFWorkbook();

//创建HSSFSheet对象

HSSFSheet sheet = wb.createSheet("sheet0");

//创建HSSFRow对象

HSSFRow row = sheet.createRow((short)0);

//创建HSSFCell对象

HSSFCell cell=row.createCell((short)0);

//用来处理中文问题

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

//设置单元格的值

cell.setCellValue("单元格中的中文");

//定义你需要的输出流

OutputStream out = new FileOutputStream("viwo.xls");

//输出Excel

怎么用JAVA来制作EXCEL报表?源代码应该怎么写?有专门的表格软件或报表

可以用FineReport报表软件实现。finereport是纯java软件,类excel设计模式,是一款功能极其牛掰的表格工具,可与数据库直接对接(一般的数据库,Oracle,SqlServer,MySql,DB2,Sybase,Informix等都支持),文本数据直接导入当然也支持,企业级额应用中包括设置定时报表、自定汇总数据发送邮件、报表权限分配、决策平台搭建等,因为是专业的报表软件,功能很强大,其实很多业内人士都在用这款软件,另外几乎不用自己编写代码,所以新手很容易上手使用。应该会比较适合您的,满意的话可以采纳的哦,谢谢了

java 实现报表统计

java本身没有操作excel的工具,需要第三方的jar包,用jxl就可以,代码入下。

jxl你上百度搜索后下载就可以,简单易用,不懂追问。

public boolean exportExcel(HttpServletResponse response,Listcityinfo 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;ilist.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;

}

}


分享标题:报表下载JAVA代码实现,java报表开发框架
文章地址:http://hbruida.cn/article/hshcdp.html