最近经常使用java操作excel,我选择的是Jxl,感觉比较方便,先分享下我封装的操作类:
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.List;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableCell;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
/**
* Excel文件创建工厂类
*
*/
public class ExportInfoExcelFactory
{
/**
* List 对应不同的sheet,String[]内包含 一个sheet内的一行记录
*/
private List<String[]> headList;
/**
* 外层的list 对应不同的sheet,内部的list 包含一个sheet内所有行的记录, String[]内包含 一个sheet内的一行记录
*/
private List<List<String[]>> bodyList;
private ExportInfoExcelFactory()
{
// TODO Auto-generated constructor stub
}
public static ExportInfoExcelFactory getInstance()
{
return new ExportInfoExcelFactory();
}
/**
* 创建sheet的body体,支持多个sheet
* @param sheets
* @param bodyList
* @throws RowsExceededException
* @throws WriteException
*/
protected void creatBody(WritableSheet[] sheets,List<List<String[]>> bodyList) throws RowsExceededException, WriteException
{
for(int s=0;s<sheets.length;s++)
{
List<String[]> blist = bodyList.get(s);
int row = 1;
for(String[] strArray : blist)
{
String[] temp = strArray;
for(int col=0;col<temp.length;col++)
{
WritableCell bodyCell = new Label(col,row,temp[col]);
sheets[s].addCell(bodyCell);
}
row++;
}
}
}
/**
* 创建sheet的head支持多个sheet的创建
* @param sheets 需要创建的sheet
* @param headList 表头列表
* @throws RowsExceededException
* @throws WriteException
*/
protected void creatHead(WritableSheet[] sheets,List<String[]> headList) throws RowsExceededException, WriteException
{
for(int s=0;s<sheets.length;s++)
{
String[] heads = headList.get(s);
for(int col=0;col<heads.length;col++)
{
WritableCell headCell = new Label(col,0,heads[col]);
sheets[s].addCell(headCell);
}
}
}
/**
* 创建Excel文件
* @param exportfilePath 路径
* @param name sheet name数组
* @param index 数组
* @param sheetNumbers 要创建多少个sheet
* @throws Exception
*/
public void produceExportFile(String exportfilePath,String[] names,int[] indexs,int sheetNumbers)throws Exception
{
OutputStream os = new FileOutputStream(exportfilePath);
WritableWorkbook wb = Workbook.createWorkbook(os);
WritableSheet[] sheets = new WritableSheet[sheetNumbers];
for(int s=0;s<sheets.length;s++)
{
sheets[s]=wb.createSheet(names[s],indexs[s]);
}
creatHead(sheets, headList);
creatBody(sheets, bodyList);
wb.write();
wb.close();
os.close();
}
public List<String[]> getHeadList()
{
return headList;
}
public void setHeadList(List<String[]> headList)
{
this.headList = headList;
}
public List<List<String[]>> getBodyList()
{
return bodyList;
}
public void setBodyList(List<List<String[]>> bodyList)
{
this.bodyList = bodyList;
}
}
分享到:
- 2009-02-25 18:14
- 浏览 2093
- 评论(0)
- 论坛回复 / 浏览 (0 / 2199)
- 查看更多
相关推荐
JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。本篇将深入探讨如何使用JXL库在Java中打印Excel报表。 首先,要使用JXL库,你需要在项目中引入它的依赖。在本例中,`jxl.jar`是JXL库的核心...
下面是一个更复杂的示例代码,展示了如何使用jxl创建带有不同数据样式的Excel文件,包括下拉框: ```java import java.io.FileOutputStream; import java.io.OutputStream; import java.text.SimpleDateFormat; ...
创建Excel文件的基本步骤如下: 1. **创建工作簿**:JXL提供`Workbook`类来代表Excel工作簿。可以通过`Workbook.createWorkbook()`方法创建一个新的工作簿对象。 ```java Workbook workbook = Workbook....
在Java编程环境中,处理Excel数据是一项常见的任务,而`jxl`库是一个广泛使用的开源库,专门用于读取和写入Microsoft Excel文件。本篇将详细介绍如何使用`jxl`库进行Excel的操作,包括导入、导出、读取以及更新Excel...
本教程将详细介绍如何使用`jxl`库在导出Excel时添加水印,以及涉及的核心类`WritableWorkbook`、`WritableSheet`和`WritableCellFormat`。 `jxl`库提供了一套完整的API来操作Excel文件,包括创建新的工作簿、添加...
在JXL中,我们主要使用`WritableWorkbook`和`WritableSheet`对象来创建和修改Excel文件。首先,我们需要打开一个现有的Excel文件(或创建一个新的): ```java FileInputStream fis = new FileInputStream("原文件....
有了数据后,我们可以使用JXL创建Excel工作簿(Workbook): ```java import jxl.*; public void exportToExcel(List<List<Object>> data, String outputFile) { try (OutputStream outputStream = new ...
导入库后,我们可以通过以下步骤来创建Excel文件: 1. **创建Workbook对象**:`jxl.Workbook`是Excel文件的基础,你可以把它看作是一个Excel工作簿。创建一个空的Workbook对象,可以使用`Workbook.createWorkbook()...
在这种场景下,一个常用的库是jxl,它允许开发者在Java环境中创建、读取和修改Excel文件。本文将详细探讨如何在Android应用中使用jxl库快速导出Excel表格。 首先,我们需要理解jxl库的基本概念。jxl是一个Java API...
在这个示例中,我们将深入探讨如何使用JXL进行Excel文件的读写操作。 首先,你需要在项目中引入JXL库。`jxl.jar`文件是JXL库的二进制文件,包含了所有必需的类和方法。将这个JAR文件添加到你的项目的类路径中,就...
在Java编程中,导出Excel表格是一项常见...通过理解并实践上述代码,你可以快速掌握使用JXL创建Excel表格的基本技巧。记住,不断学习和实践是提升编程技能的关键,希望这个示例能帮助你在Java与Excel的交互中取得进步。
`jxl`库是一个广泛使用的开源库,它允许开发者用Java读取、写入和修改Excel文件。在这个特定的场景中,我们将探讨如何利用`jxl`库为Excel文件添加水印,特别关注`setWaterMarkImage`方法。 首先,`jxl`库不直接提供...
### 使用JXL库下载并处理Excel文件 #### 知识点概述 本文将详细介绍如何使用JXL库结合Java网络编程技术来实现从指定URL下载Excel文件,并将其保存到本地指定目录的功能。此外,我们还将简单介绍如何使用JXL库读取...
创建Excel文件主要涉及以下步骤: 1. 创建`WritableWorkbook`对象,指定文件名和工作簿类型(如xls或xlsx)。 2. 在工作簿中添加`WritableSheet`,代表一个工作表。 3. 添加`WritableCell`,包括数值、字符串、日期...
这篇博客“JXL 下载 Excel 文档”可能是介绍如何使用JXL库在Java程序中创建、读取或修改Excel文件。 描述中提到的链接指向了一个ITEYE博客文章,虽然具体内容没有给出,但我们可以推测博主可能详细介绍了使用JXL库...
Java 使用 JXL 进行Excel导入导出是一个常见的任务,特别是在数据处理和分析场景中。JXL 是一个 Java 库,允许开发者方便地读取、写入和操作 Excel 文件(.xls 格式)。以下是对这个主题的详细阐述: 1. **JXL 概述...
一旦引入了JXL库,你可以开始创建Excel工作簿对象,这是读写Excel文件的基础。以下是一个简单的示例,展示了如何创建一个新的Excel文件并写入数据: ```java import jxl.Sheet; import jxl.Workbook; import jxl....
3. **创建Excel文件** 使用JXL,你可以创建一个新的Excel工作簿,然后向其中添加工作表。每个工作表由多个行和列组成,每个单元格可以存储不同类型的数据。例如: ```java WorkbookSettings ws = new ...
本文将详细介绍如何使用`jxl`库创建一个导出Excel的工具类,以及这个工具类如何帮助我们简化代码,提高效率。 首先,`jxl`库提供了对Excel文件的读写支持,包括工作簿(Workbook)、工作表(Worksheet)、行(Row)...