首先导入JXL相应的包jxl.jar,然后把下面的类复制黏贴进去运行就OK了。
package com.junit.test;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import junit.framework.TestCase;
import jxl.HeaderFooter;
import jxl.SheetSettings;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.VerticalAlignment;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
import org.junit.Test;
/**
* 读写Excel文件工具类
*
*
* @author THJ
*
*/
public class ExcelFile {
private String Title;
private List<String> Header;
private List<List<String>> Data;
private WritableWorkbook workbook;
private WritableSheet wsheet;
private HeaderFooter pageHeader;
private HeaderFooter pageFooter;
private WritableFont titleFont;
private WritableCellFormat titleFormat;
private WritableFont headerFont;
private WritableCellFormat headerFormat;
{
// 设置打印页头
pageHeader = new HeaderFooter();
pageHeader.getLeft().appendDate();
pageHeader.getLeft().append(" ");
pageHeader.getLeft().appendTime();
pageHeader.getCentre().appendWorkSheetName();
pageHeader.getRight().append("左岸风度物业管理");
// 设置打印页脚
pageFooter = new HeaderFooter();
pageFooter.getCentre().appendPageNumber();
pageFooter.getCentre().append("/");
pageFooter.getCentre().appendTotalPages();
// 设置标题
titleFont = new WritableFont(WritableFont.createFont("黑体"), 32,
WritableFont.BOLD);
titleFormat = new WritableCellFormat(titleFont);
try {
titleFormat.setAlignment(Alignment.CENTRE);
titleFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
} catch (WriteException e) {
e.printStackTrace();
}
// 创建表头样式
headerFont = new WritableFont(WritableFont.createFont("宋体"), 14,
WritableFont.BOLD);
headerFormat = new WritableCellFormat(headerFont);
try {
headerFormat.setWrap(true);
} catch (WriteException e) {
e.printStackTrace();
}
} // init block
public ExcelFile() {
};
public ExcelFile(String title, List<String> header, List<List<String>> data) {
super();
Title = title;
Header = header;
Data = data;
}
public boolean save(File fileName) throws IOException {
// 创建WorkBook 和 Sheet
workbook = Workbook.createWorkbook(fileName);
wsheet = workbook.createSheet(this.Title, workbook.getNumberOfSheets());
// 设置工作表全局设定
SheetSettings sheetSettings = wsheet.getSettings();
sheetSettings.setHeader(this.pageHeader);
sheetSettings.setFooter(this.pageFooter);
// sheetSettings.setDefaultRowHeight(500);
sheetSettings.setFitToPages(true);
sheetSettings.setPrintHeaders(false);
sheetSettings.setDisplayZeroValues(true);
sheetSettings.setPrintGridLines(true);
sheetSettings.setFitWidth(1);
try {
// 标题文字
Label nc1 = new Label(0, 0, this.Title, titleFormat);
// 合并单元格
wsheet.mergeCells(0, 0, this.Header.size() - 1, 0);
// 插入标题单元格
wsheet.addCell(nc1);
// 写入表头
for (int i = 0; i < this.Header.size(); ++i) {
Label nc = new Label(i, 1, this.Header.get(i), headerFormat);
wsheet.addCell(nc);
}
// 加入数据
for (int i = 0; i < this.Data.size(); ++i) {
for (int j = 0; j < this.Data.get(i).size(); ++j) {
Label nc = new Label(j, i + 2, this.Data.get(i).get(j));
wsheet.addCell(nc);
}
}
workbook.write();
workbook.close();
} catch (RowsExceededException e) {
e.printStackTrace();
return false;
} catch (WriteException e) {
e.printStackTrace();
return false;
}
return true;
}
@Test
public void test_class() {
// 默认测试数据
File file = new File("d:/test2.xls");
String title = "2009年4月缴费详单";
List<String> header = new ArrayList<String>();
for (int i = 0; i < 10; ++i) {
header.add("header" + i);
}
List<List<String>> data = new ArrayList<List<String>>();
for (int i = 0; i < 10; ++i) {
List<String> inlist = new ArrayList<String>();
for (int j = 0; j < 10; ++j) {
inlist.add("data(" + i + "," + j + ")");
}
data.add(inlist);
}
ExcelFile ef = new ExcelFile(title, header, data);
try {
ef.save(file);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws BiffException, IOException,
RowsExceededException, WriteException {
// 默认测试数据
File file = new File("d:/test2.xls");
String title = "2009年4月缴费详单";
List<String> header = new ArrayList<String>();
for (int i = 0; i < 10; ++i) {
header.add("header" + i);
}
List<List<String>> data = new ArrayList<List<String>>();
for (int i = 0; i < 10; ++i) {
List<String> inlist = new ArrayList<String>();
for (int j = 0; j < 10; ++j) {
inlist.add("data(" + i + "," + j + ")");
}
data.add(inlist);
}
ExcelFile ef = new ExcelFile(title, header, data);
try {
ef.save(file);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @return the title
*/
public String getTitle() {
return Title;
}
/**
* @return the header
*/
public List<String> getHeader() {
return Header;
}
/**
* @return the data
*/
public List<List<String>> getData() {
return Data;
}
/**
* @return the workbook
*/
public WritableWorkbook getWorkbook() {
return workbook;
}
/**
* @return the wsheet
*/
public WritableSheet getWsheet() {
return wsheet;
}
/**
* @return the pageHeader
*/
public HeaderFooter getPageHeader() {
return pageHeader;
}
/**
* @return the pageFooter
*/
public HeaderFooter getPageFooter() {
return pageFooter;
}
/**
* @return the titleFont
*/
public WritableFont getTitleFont() {
return titleFont;
}
/**
* @return the titleFormat
*/
public WritableCellFormat getTitleFormat() {
return titleFormat;
}
/**
* @return the headerFont
*/
public WritableFont getHeaderFont() {
return headerFont;
}
/**
* @return the headerFormat
*/
public WritableCellFormat getHeaderFormat() {
return headerFormat;
}
/**
* @param title
* the title to set
*/
public void setTitle(String title) {
Title = title;
}
/**
* @param header
* the header to set
*/
public void setHeader(List<String> header) {
Header = header;
}
/**
* @param data
* the data to set
*/
public void setData(List<List<String>> data) {
Data = data;
}
/**
* @param workbook
* the workbook to set
*/
public void setWorkbook(WritableWorkbook workbook) {
this.workbook = workbook;
}
/**
* @param wsheet
* the wsheet to set
*/
public void setWsheet(WritableSheet wsheet) {
this.wsheet = wsheet;
}
/**
* @param pageHeader
* the pageHeader to set
*/
public void setPageHeader(HeaderFooter pageHeader) {
this.pageHeader = pageHeader;
}
/**
* @param pageFooter
* the pageFooter to set
*/
public void setPageFooter(HeaderFooter pageFooter) {
this.pageFooter = pageFooter;
}
/**
* @param titleFont
* the titleFont to set
*/
public void setTitleFont(WritableFont titleFont) {
this.titleFont = titleFont;
}
/**
* @param titleFormat
* the titleFormat to set
*/
public void setTitleFormat(WritableCellFormat titleFormat) {
this.titleFormat = titleFormat;
}
/**
* @param headerFont
* the headerFont to set
*/
public void setHeaderFont(WritableFont headerFont) {
this.headerFont = headerFont;
}
/**
* @param headerFormat
* the headerFormat to set
*/
public void setHeaderFormat(WritableCellFormat headerFormat) {
this.headerFormat = headerFormat;
}
}
分享到:
相关推荐
java利用jxl生成excel文件,代码直接导入就可以跑(修改自己的生成的ecxel地址)
NULL 博文链接:https://jeasonjack.iteye.com/blog/1186790
jxl模版生成excel,采用类似EL表达式的方式生成模版
利用jxl操作excel文件,提取exce文件数据生成txt文件。
JXL操作EXCEL 数据库导出EXCEL相关文件一些详细资料
利用jxl包结合java反射机制和注释,直接把list生成对应的Excel文件,即只需传入list、对应生成的对象、标题就可以生成excel文件write(String title, List list,Class c),实现一个简单生成excel工具类
java 通过JXL架包,给excel文件添加水印,水印内容可自定义
jxl对下拉列表的读写操作以及相应的修改功能
java用于生成EXCEL等文件格式的包,直接导入到java工程即可,简单方便,另外还配有jxl api说明文档
java通过jxl生成excel实例,读取excel,复制,修改excel文件
JXL使用模板通过el表达式生成excel文件,简单方便,可以直接在excel模板文件中设置样式,为什么老是改我 下载所需积分,我明明设置了2个积分。。。。
在java开发中,通过jxl.jar提供的api可以方便的生成你想要的excel文件。
操作Excel文件(读取和生成)jxl和poi 详细实例
使用JAVA通过JXL(JExcel)动态生成Excel文件
jxl excel 修改,删除,生成 线程搬迁 手动打jar包 包含jxl操作excel 配置线程执行搬迁或者其他操作,需要手动添加一个文件getSZ.properties配置数据库 手动打包及一些常用的方法
excel生成,与excel的读取
poi包括三种常用jar包,各自支持的格式在文件名里表示出来了。jxl相对操作容易但是功能简单,poi操作复杂但是功能更强大,具体用哪个看自己吧。另外poi还支持对PPT,WORD等文件的支持。。
生成Excel 2000标准格式 支持字体、数字、日期操作 能够修饰单元格属性 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它...
NULL 博文链接:https://wankunde.iteye.com/blog/869907
jxl包支持对excel文件的操作,用于生成excel文件,以及对生成后的excel文件进行格式的定义,这一点类似于excel宏的功能