首先导入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;
}
}
分享到:
相关推荐
这篇博客“利用Jxl生成excel文件”提供了关于如何使用Jxl库创建Excel文档的指导。 首先,Jxl库允许开发者在Java程序中直接操作Excel格式的数据,而无需依赖Microsoft Office套件。它支持多种Excel功能,如单元格...
Java使用JXL库生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或导出时。JXL是一个开源的Java库,允许我们读取、写入和修改Excel文件。以下将详细讲解如何使用JXL库来生成Excel文件。 首先,我们需要在...
6. **读取Excel**:除了生成Excel文件,jxl还可以读取已有的Excel文件,将其内容转化为Java数据结构,便于处理和分析。 7. **示例代码**:通常,使用jxl的流程包括加载模板文件,找到要填充的单元格,使用`Cell....
本篇将详细介绍如何利用`jxl`库来操作Excel文件,并结合实例说明如何从Excel文件中提取数据并生成TXT文件。 首先,我们需要理解`jxl`库的基本结构。`jxl`库主要提供了`Workbook`、`Sheet`、`Cell`等类,分别对应...
本资源提供了一个利用jxl库实现Java程序中生成Excel表格的解决方案。jxl是一个广泛使用的开源Java库,它允许开发者读取、写入和修改Microsoft Excel文件。 首先,我们来详细了解一下jxl库。jxl库支持多种Excel操作...
Apache POI 和 JExcelAPI(JXL)是两个广泛使用的库,分别用于处理Microsoft Office的POI格式(包括Excel)和Java环境中的Excel文件。下面将详细阐述这两个库以及如何使用它们来生成Excel报表。 Apache POI 是一个...
在Java开发中,生成和处理Excel文件是一项常见的任务,特别是在数据导出或报表生成的场景。JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。本篇将深入探讨如何使用JXL库在Java中打印Excel...
在Java编程环境中,生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或数据分析等领域。JXL库是一个广泛使用的开源库,专门用于读写Microsoft Excel文件。这篇博客“使用JXL生成Excel实例详解”将深入...
JXL(Java Excel API)是一个开源的Java库,专门用于读取、写入和修改Microsoft Excel文件。它支持多种操作,包括创建新的Excel工作簿,读取现有的工作簿,修改单元格内容,以及设置样式等。JXL库因其简单易用的API...
JXL是一个Java库,专门用于读取、写入和修改Excel文件,它为Java开发者提供了一种方便的方式来处理Excel数据,而无需依赖Microsoft Office套件。本篇文章将深入探讨JXL库在操作Excel和数据库导出Excel文件方面的应用...
这篇博客文章结合了这两个技术,展示了如何在Struts2应用中生成Excel文件并将其导出给用户下载。 在Java开发中,导出数据到Excel是常见的需求,特别是在处理大量结构化数据时,如报表或数据分析。JXL库提供了一个...
3. **使用jxl生成Excel文件**: - 创建`Workbook`对象:这是jxl库中的核心类,代表一个Excel工作簿。可以使用`Workbook.createWorkbook()`方法创建一个新的工作簿。 - 创建`Sheet`对象:表示工作簿中的一个工作表,...
Java生成Excel文件是许多开发人员在处理数据导出或报告生成时经常遇到的任务。`jxl`库是一个非常流行的开源Java库,它允许开发者轻松地读取、写入和修改Excel文件。`jxl`库提供了丰富的API,使得在Java程序中操作...
在这个示例中,我们将探讨如何使用jxl库来生成Excel文件。 首先,你需要在项目中引入jxl库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>net.sourceforge.jexcelapi</groupId> ...
在IT行业中,生成Excel报表是常见的数据展示和分析任务,而JXL库为Java开发者提供了一个强大且便捷的解决方案。JXL,全称Java Excel API,是一个开源的Java库,专为读取、写入以及修改Excel文件设计。它允许程序员在...
接下来,我们创建一个名为"ExcelReport.java"的Java类,用于生成Excel文件。以下是一个简单的示例: ```java import jxl.Sheet; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; ...
- **读取Excel文件**:使用JXL或POI库加载Excel文件。 - **创建水印图像**:根据`Model`中的数据动态生成水印图像。 - **将水印图像添加到Excel页面上**:使用POI提供的API来实现这一功能。 #### 示例代码框架 ```...
首先,JXL 提供了一个抽象类 Workbook,该类相当于是一个工具类,用于生成 Excel 文件。Workbook 类提供了多种方法来生成 Excel 文件,例如 createWorkbook(File file)、createWorkbook(File file, Workbook in)、...
利用jxl包结合java反射机制和注释,直接把list生成对应的Excel文件,即只需传入list、对应生成的对象、标题就可以生成excel文件write(String title, List list,Class c),实现一个简单生成excel工具类
在Java编程环境中,处理Excel文件是一项常见的任务,特别是在数据导入导出、报表生成等领域。`jxl`库是一个广泛使用的开源库,它允许开发者用Java读取、写入和修改Excel文件。在这个特定的场景中,我们将探讨如何...