java通过jxl生成excel(包括图片)

JXL(Java Excel API)是一个用来动态读写Excel文件的开源框架,利用它可以在任何支持Java的操作系统上动态读写Excel文件。

实现创建Excel功能

代码如下:

package com.mdcl.bgctv.fileManage.action;

import java.io.File;

import jxl.Workbook;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableImage;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

// 生成Excel的类


public class CreateExcel {
public static void main(String args[]) {
try{
//打开文件
WritableWorkbook book = Workbook.createWorkbook( new File( "D://test.xls" ));
//生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet( "第一页",0);
//合并单元格 第二行第一列到第二行第二列合并
sheet.mergeCells(0, 1, 1, 1);
//设定单元格高度与宽度 设定第一行高度200 设定第一列宽度30
sheet.setRowView(0, 2000);
sheet.setColumnView(0, 30);
//指定字体样式:字体TIMES,字号16,加粗显示。
//WritableFont()属性参数
//字体 WritableFont.TIMES
//大小 18
//是否为粗体 WritableFont.BOLD WritableFont.NO_BOLD
//是否为斜体 true
//样式 UnderlineStyle.NO_UNDERLINE 下划线
//颜色 jxl.format.Colour.RED 字体颜色为红色
WritableFont font1 = new WritableFont(WritableFont.TIMES,16,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);
//WritableCellFormat类,通过它可以指定单元格的各种属性
//还可以指定数据对齐方式 水平对齐 垂直对齐
WritableCellFormat format1 = new WritableCellFormat(font1);
format1.setAlignment(jxl.format.Alignment.LEFT);
format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);
//在Label对象的构造子中指名单元格位置是第一列第一行(0,0)
//以及单元格内容为test
//Label()方法三个参数 1:列数 2:行数 3:要写入的内容 4:样式(可选项)
Label label = new Label(0,0,"test",format1);

//将定义好的单元格添加到工作表中
sheet.addCell(label);

//生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第二列,第一行,值为789.123
jxl.write.Number number = new jxl.write.Number(1,0,555.12541);
sheet.addCell(number);

//插入图片
String imgPath = "D://333.png";
File imgFile = new File(imgPath);
//WritableImage(col, row, width, height, imgFile);

//col row是图片的起始行起始列  width height是定义图片跨越的行数与列数  
WritableImage image = new WritableImage(4,4,2,5,imgFile);
sheet.addImage(image);

//写入数据并关闭文件
book.write();
book.close();

} catch (Exception e) {
System.out.println(e);
}
}
}

显示效果如下


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值