`
network-eagle
  • 浏览: 59794 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

java 生成excel文件 可以做为简单的报表工具

阅读更多
<!----> package  org.eagle.jexcel;

import  jxl. * ;
import  jxl.format.UnderlineStyle;
import  jxl.write. * ;
import  jxl.write.Number;
import  jxl.write.Boolean;
import  java.io. * ;

/**
 * 
 * <p>
 * Title:
 * </p>
 * 
 * <p>
 * Description:
 * </p>
 * 
 * <p>
 * Copyright: Copyright (c) 2006
 * </p>
 * 
 * <p>
 * Company:
 * </p>
 * 
 * 
@author  eagle
 * 
@version  1.0
 
*/
public   class  JexcelHandle {
    
public  JexcelHandle() {
    }

    
public   static   void  writeExcel(OutputStream os) {
        
try  {
            WritableWorkbook wwb 
=  Workbook.createWorkbook(os);
            
//  创建excel工作表 镇定名称和位置
            WritableSheet ws  =  wwb.createSheet( " card sheet  " 0 );
            
//  1.添加Label对象
            Label label  =   new  Label( 0 0 " 编号 " );
            ws.addCell(label);
            Label label2 
=   new  Label( 1 0 " 冲值卡号 " );
            ws.addCell(label2);
            Label label3 
=   new  Label( 2 0 " 冲值卡密码 " );
            ws.addCell(label3);
            Label label4 
=   new  Label( 3 0 " 最晚冲值时间 " );
            ws.addCell(label4);
            Label label5 
=   new  Label( 4 0 " 冲值的面值(TC)(1RMB=100TC) " );
            ws.addCell(label5);
            Label label6 
=   new  Label( 5 0 " 是否作废 " );
            ws.addCell(label6);

            Number labelN 
=   new  Number( 0 1 3.1415926 );
            ws.addCell(labelN);
            
// 通过 记录集的方式可以得到数据库中的相关的记录
            
//  WritableFont wf = new WritableFont(WritableFont.TIMES, 18,
            
//  WritableFont.BOLD, true);
            
//  WritableCellFormat wcf = new WritableCellFormat(wf);
            
//  Label labelcf = new Label(1, 0, "this is a label test", wcf);
            
//  ws.addCell(labelcf);
            
//   // 2.添加Number对象
            
//  Number labelN = new Number(0,1,3.1415926);
            
//  ws.addCell(labelN);
            
//
            
//   // 添加带有formatting的Number对象
            
//  NumberFormat nf = new NumberFormat("#.##");
            
//  WritableCellFormat wcfN = new WritableCellFormat(nf);
            
//  Number labelNF = new jxl.write.Number(1,1,3.1415926,wcfN);
            
//  ws.addCell(labelNF);
            
//
            
//   // 3.添加Boolean对象
            
//  Boolean labelB = new jxl.write.Boolean(0,2,false);
            
//  ws.addCell(labelB);
            
//
            
//   // 4.添加DateTime对象
            
//  jxl.write.DateTime labelDT = new jxl.write.DateTime(0,3,new
            
//  java.util.Date());
            
//  ws.addCell(labelDT);
            
//
            
//   // 添加带有formatting的DateFormat对象
            
//  DateFormat df = new DateFormat("dd MM yyyy hh:mm:ss");
            
//  WritableCellFormat wcfDF = new WritableCellFormat(df);
            
//  DateTime labelDTF = new DateTime(1,3,new java.util.Date(),wcfDF);
            
//  ws.addCell(labelDTF);
            
//
            
//   // 添加图片对象,jxl只支持png格式图片
            
//  File image = new File("f:\\x.png");
            
//  WritableImage wimage = new
            
//  WritableImage(0,1,2,2,image); // 0,1分别代表x,y.2,2代表宽和高占的单元格数
            
//  ws.addImage(wimage);
            
//  写入工作表
            wwb.write();
            wwb.close();
        } 
catch  (Exception e) {
            System.out.println(
""   +  e);
        }

    }



    
public   static   void  modifyExcel(File file1, File file2) {
        
try  {
            
//  先copy 在操作第二个文件修改,
            Workbook rwb  =  Workbook.getWorkbook(file1);
            WritableWorkbook wwb 
=  Workbook.createWorkbook(file2, rwb); //  copy
            WritableSheet ws  =  wwb.getSheet( 0 );
            WritableCell wc 
=  ws.getWritableCell( 0 0 );

            
//  判断单元格的类型,做出相应的转换
            Label label  =  (Label) wc;
            label.setString(
"  1 " );

            wwb.write();
            wwb.close();
            rwb.close();
        } 
catch  (Exception e) {
            e.printStackTrace();
        }
    }

    
/**
     * 读取Excel
     * 
     * 
@param  filePath
     
*/
    
public   static   void  readExcel(String filePath) {
        
try  {
            InputStream is 
=   new  FileInputStream(filePath);
            Workbook rwb 
=  Workbook.getWorkbook(is);
            
//  Sheet st = rwb.getSheet("0")这里有两种方法获取sheet表,1为名字,而为下标,从0开始
            Sheet st  =  rwb.getSheet( " original " );
            Cell c00 
=  st.getCell( 0 0 );
            
//  通用的获取cell值的方式,返回字符串
            String strc00  =  c00.getContents();
            
//  获得cell具体类型值的方式
             if  (c00.getType()  ==  CellType.LABEL) {
                LabelCell labelc00 
=  (LabelCell) c00;
                strc00 
=  labelc00.getString();
            }
            
//  输出
            System.out.println(strc00);
            
//  关闭
            rwb.close();
        } 
catch  (Exception e) {
            e.printStackTrace();
        }
    }

    
public   static   void  main(String args[]) {
        
try  {
            File fileWrite 
=   new  File( " f:/cardWrite.xls " );
            fileWrite.createNewFile();
            OutputStream os 
=   new  FileOutputStream(fileWrite);
            JexcelHandle.writeExcel(os);
            JexcelHandle.modifyExcel(
new  File( " f:/cardWrite.xls " ),  new  File(
                    
" f:/cardWrite2.xls " ));
        } 
catch  (Exception e) {
            System.out.println(e);
        }
    }

}
在网上看了写源码在结合自己的。不要忘了下载jxl包哟。http://www.andykhan.com/jexcelapi/
<!----><%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="org.eagle.gz.*"%>
<%@ page import="java.io.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style type="text/css">
<!--
body,td,th {
    font
-size: 12px;
}
body {
    margin
-left: 0px;
    margin
-top: 0px;
    margin
-right: 0px;
    margin
-bottom: 0px;
}
-->
</style></head>

<body>

<%
try{
response.reset();
//清除Buffer
response.setContentType("application/vnd.ms-excel");
File fileWrite 
= new File("f:/testWrite.xls");
fileWrite.createNewFile();
new FileOutputStream(fileWrite);
JexcelHandle.writeExcel(
new FileOutputStream(fileWrite));
}
catch(Exception e){
    System.out.println(e);
}
%>
</body>
</html>
也可以在jsp中运用,
群 16687185  欢迎你们的加盟。
分享到:
评论

相关推荐

    Java生成Excel文件

    首先,Java生成Excel文件通常会用到Apache POI库,这是一个流行的API,用于读写Microsoft Office格式的文件,包括Excel(.xlsx和.xls)。要开始,你需要在项目中引入Apache POI库。如果你使用的是Maven,可以在pom....

    利用Java生成Excel文件

    利用Java生成Excel文件是一项常见的需求,特别是在数据处理和报表生成的场景中。Apache POI是一个强大的库,专门用于处理Microsoft Office格式的文件,包括Excel。本文将详细介绍如何使用Java和POI库生成Excel文件,...

    java生成excel工具类和demo

    在Java编程中,生成Excel文件是一项常见的任务,特别是在数据分析、报表生成或数据导出场景下。本示例涉及的“java生成excel工具类和demo”是关于如何在Java环境中使用Apache POI库来创建和导出Excel文件的一个实践...

    java生成excel表格

    `java生成excel表格.zip`和`java生成excel文件表格`可能是包含其他示例代码或已生成的Excel文件。你可以解压这些文件,查看和运行其中的代码,以了解更多的用法和功能,例如如何读取Excel数据,如何设置单元格格式,...

    JAVA使用POI生成Excel文件

    这篇博客"JAVA使用POI生成Excel文件"主要介绍了如何利用Apache POI来创建和操作Excel文档。 首先,我们需要了解Apache POI的基本概念。Apache POI是Apache软件基金会的一个开源项目,它提供了Java API,使得开发者...

    java利用jxl生成excel文件

    Java使用JXL库生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或导出时。JXL是一个开源的Java库,允许我们读取、写入和修改Excel文件。以下将详细讲解如何使用JXL库来生成Excel文件。 首先,我们需要在...

    java生成Excel及jar包和文件下载的几种方式

    在Java开发中,生成Excel文件是一项常见的任务,尤其在数据导出、报表生成等领域。而将生成的Excel文件打包成jar或提供下载功能,则是项目部署和服务化的一部分。本篇文章将详细探讨Java生成Excel的不同方法以及如何...

    bird生成报表jar包 java生成excel报表

    自己写的java生成excel报表jar包,使用html中的table标签样式设计报表头部信息xml文件,接受list数据集生成excel报表。对结构不是太复杂的excel报表十分好用,有详细使用说明。不断完善中,欢迎提供意见和建议!(注...

    Java中Excel转图片工具包(纯java)

    "Java中Excel转图片工具包(纯java)"就是这样一个解决方案,它实现了将Excel文件通过PDF中间格式转化为图片的功能。 首先,让我们了解一下这个工具包的工作原理。Excel文件本身并不直接支持转换为图片格式,但可以...

    java操作excel工具类

    Java操作Excel工具类是开发过程中常见的一种需求,尤其是在数据导入导出、数据分析或者报表生成的场景下。在Java中,我们可以使用多种库来处理Excel文件,例如Apache POI、JExcelAPI、OpenCSV等。本篇文章将重点介绍...

    java使用jxl打印excel报表文件

    在Java开发中,生成和处理Excel文件是一项常见的任务,特别是在数据导出或报表生成的场景。JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。本篇将深入探讨如何使用JXL库在Java中打印Excel...

    java读写excel文件

    在Java编程中,读写Excel文件是一项常见的任务,特别是在数据处理、数据分析或报表生成的场景下。本篇文章将深入探讨如何使用Java进行Excel文件的读取与写入操作,主要聚焦于Apache POI库,这是一个广泛使用的开源...

    利用JAVA操作EXCEL文件.pdf

    综上所述,JavaExcelAPI为Java开发者提供了一个强大的工具箱,极大地简化了对Excel文件的操作流程,无论是简单的数据读取还是复杂的报表生成,都能轻松应对。随着项目不断发展和完善,其应用范围还将进一步扩大。

    java生成excel

    首先,Java生成Excel文件通常借助于第三方库,如Apache POI。Apache POI是Apache软件基金会的一个项目,它提供API来读取、写入Microsoft Office格式的文件,包括Excel。在你的压缩包中,可能包含了Apache POI的jar包...

    java生成excel表格需要的3个jar包

    在"java生成excel表格需要的3个jar包"中,提到的三个关键文件是: 1. poi-2.5.1-final-20040804.jar:这是Apache POI的核心库,包含了处理Excel文件的主要类和接口。在这个版本中,你可以找到用于创建、读取和修改...

    java 生成excle文件

    在Java编程环境中,生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或导出时。在本场景中,我们使用了jxl.jar库来完成这个功能。jxl是一个开源的Java库,它允许开发者读取、写入和修改Excel文件(.xls...

    excel生成Java源代码.zip

    这个压缩包可能包含一个或多个Java类,实现了将Excel数据转换为Java源代码的功能,或者反之,用Java源代码生成Excel文件。 描述中的“Java excel 源代码”进一步确认了这个压缩包内容,意味着我们将找到用Java编写...

    java实现mysql数据库的表导出到excel文件

    在IT行业中,将数据库数据导出到Excel文件是一种常见的需求,尤其在数据分析、报表生成或者数据备份时。本文将详细讲解如何使用Java实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 ...

    jxls利用模板生成excel文件

    而`jxls`正是一个Java库,它提供了一种高效、灵活的方式来利用模板生成Excel文件,极大地简化了开发过程。 ### 一、什么是jxls? `jxls`(Java eXtensions for Sheets)是一个开源项目,其主要功能是在Java应用中...

Global site tag (gtag.js) - Google Analytics