`
BenKing
  • 浏览: 57988 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用Jxl 创建Excel

阅读更多

  最近经常使用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;
 }


}

分享到:
评论

相关推荐

    java使用jxl打印excel报表文件

    JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。本篇将深入探讨如何使用JXL库在Java中打印Excel报表。 首先,要使用JXL库,你需要在项目中引入它的依赖。在本例中,`jxl.jar`是JXL库的核心...

    jxl创建下拉列表

    下面是一个更复杂的示例代码,展示了如何使用jxl创建带有不同数据样式的Excel文件,包括下拉框: ```java import java.io.FileOutputStream; import java.io.OutputStream; import java.text.SimpleDateFormat; ...

    java jxl创建Excel

    创建Excel文件的基本步骤如下: 1. **创建工作簿**:JXL提供`Workbook`类来代表Excel工作簿。可以通过`Workbook.createWorkbook()`方法创建一个新的工作簿对象。 ```java Workbook workbook = Workbook....

    使用jxl操作Excel

    在Java编程环境中,处理Excel数据是一项常见的任务,而`jxl`库是一个广泛使用的开源库,专门用于读取和写入Microsoft Excel文件。本篇将详细介绍如何使用`jxl`库进行Excel的操作,包括导入、导出、读取以及更新Excel...

    jxl导出excel加水印.zip

    本教程将详细介绍如何使用`jxl`库在导出Excel时添加水印,以及涉及的核心类`WritableWorkbook`、`WritableSheet`和`WritableCellFormat`。 `jxl`库提供了一套完整的API来操作Excel文件,包括创建新的工作簿、添加...

    使用jxl给excel加水印

    在JXL中,我们主要使用`WritableWorkbook`和`WritableSheet`对象来创建和修改Excel文件。首先,我们需要打开一个现有的Excel文件(或创建一个新的): ```java FileInputStream fis = new FileInputStream("原文件....

    使用jxl将数据库的数据导出到Excel

    有了数据后,我们可以使用JXL创建Excel工作簿(Workbook): ```java import jxl.*; public void exportToExcel(List&lt;List&lt;Object&gt;&gt; data, String outputFile) { try (OutputStream outputStream = new ...

    使用jxl导出Excel表的好例子

    导入库后,我们可以通过以下步骤来创建Excel文件: 1. **创建Workbook对象**:`jxl.Workbook`是Excel文件的基础,你可以把它看作是一个Excel工作簿。创建一个空的Workbook对象,可以使用`Workbook.createWorkbook()...

    Android-Android使用jxl快速导出excel表

    在这种场景下,一个常用的库是jxl,它允许开发者在Java环境中创建、读取和修改Excel文件。本文将详细探讨如何在Android应用中使用jxl库快速导出Excel表格。 首先,我们需要理解jxl库的基本概念。jxl是一个Java API...

    JXL读写EXCEL示例

    在这个示例中,我们将深入探讨如何使用JXL进行Excel文件的读写操作。 首先,你需要在项目中引入JXL库。`jxl.jar`文件是JXL库的二进制文件,包含了所有必需的类和方法。将这个JAR文件添加到你的项目的类路径中,就...

    java用jxl包导出excel表格

    在Java编程中,导出Excel表格是一项常见...通过理解并实践上述代码,你可以快速掌握使用JXL创建Excel表格的基本技巧。记住,不断学习和实践是提升编程技能的关键,希望这个示例能帮助你在Java与Excel的交互中取得进步。

    jxl对excel添加水印(含有setWaterMarkImage方法).zip

    `jxl`库是一个广泛使用的开源库,它允许开发者用Java读取、写入和修改Excel文件。在这个特定的场景中,我们将探讨如何利用`jxl`库为Excel文件添加水印,特别关注`setWaterMarkImage`方法。 首先,`jxl`库不直接提供...

    用jxl下载excel文件

    ### 使用JXL库下载并处理Excel文件 #### 知识点概述 本文将详细介绍如何使用JXL库结合Java网络编程技术来实现从指定URL下载Excel文件,并将其保存到本地指定目录的功能。此外,我们还将简单介绍如何使用JXL库读取...

    jxl JAVA Excel解析

    创建Excel文件主要涉及以下步骤: 1. 创建`WritableWorkbook`对象,指定文件名和工作簿类型(如xls或xlsx)。 2. 在工作簿中添加`WritableSheet`,代表一个工作表。 3. 添加`WritableCell`,包括数值、字符串、日期...

    JXL 下载 Excel 文档

    这篇博客“JXL 下载 Excel 文档”可能是介绍如何使用JXL库在Java程序中创建、读取或修改Excel文件。 描述中提到的链接指向了一个ITEYE博客文章,虽然具体内容没有给出,但我们可以推测博主可能详细介绍了使用JXL库...

    java使用jxl进行Excel导入导出

    Java 使用 JXL 进行Excel导入导出是一个常见的任务,特别是在数据处理和分析场景中。JXL 是一个 Java 库,允许开发者方便地读取、写入和操作 Excel 文件(.xls 格式)。以下是对这个主题的详细阐述: 1. **JXL 概述...

    JXL读写Excel小例子

    一旦引入了JXL库,你可以开始创建Excel工作簿对象,这是读写Excel文件的基础。以下是一个简单的示例,展示了如何创建一个新的Excel文件并写入数据: ```java import jxl.Sheet; import jxl.Workbook; import jxl....

    Java使用JXL操作Excel

    3. **创建Excel文件** 使用JXL,你可以创建一个新的Excel工作簿,然后向其中添加工作表。每个工作表由多个行和列组成,每个单元格可以存储不同类型的数据。例如: ```java WorkbookSettings ws = new ...

    jxl导出excel工具类

    本文将详细介绍如何使用`jxl`库创建一个导出Excel的工具类,以及这个工具类如何帮助我们简化代码,提高效率。 首先,`jxl`库提供了对Excel文件的读写支持,包括工作簿(Workbook)、工作表(Worksheet)、行(Row)...

Global site tag (gtag.js) - Google Analytics