java excel报表文件_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.

*

;

/**

*

* Title:

*

* Description:

*

* Copyright: Copyright (c) 2006

*

* Company:

*

*

@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);

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值