`
bluenemo
  • 浏览: 179410 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JXL生成的excel文件

阅读更多

首先导入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库创建Excel文档的指导。 首先,Jxl库允许开发者在Java程序中直接操作Excel格式的数据,而无需依赖Microsoft Office套件。它支持多种Excel功能,如单元格...

    java利用jxl生成excel文件

    Java使用JXL库生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或导出时。JXL是一个开源的Java库,允许我们读取、写入和修改Excel文件。以下将详细讲解如何使用JXL库来生成Excel文件。 首先,我们需要在...

    jxl模版生成excel

    6. **读取Excel**:除了生成Excel文件,jxl还可以读取已有的Excel文件,将其内容转化为Java数据结构,便于处理和分析。 7. **示例代码**:通常,使用jxl的流程包括加载模板文件,找到要填充的单元格,使用`Cell....

    利用jxl操作excel文件

    本篇将详细介绍如何利用`jxl`库来操作Excel文件,并结合实例说明如何从Excel文件中提取数据并生成TXT文件。 首先,我们需要理解`jxl`库的基本结构。`jxl`库主要提供了`Workbook`、`Sheet`、`Cell`等类,分别对应...

    jxl方式生成excel表格.zip

    本资源提供了一个利用jxl库实现Java程序中生成Excel表格的解决方案。jxl是一个广泛使用的开源Java库,它允许开发者读取、写入和修改Microsoft Excel文件。 首先,我们来详细了解一下jxl库。jxl库支持多种Excel操作...

    poi jxl 生成EXCEL 报表

    Apache POI 和 JExcelAPI(JXL)是两个广泛使用的库,分别用于处理Microsoft Office的POI格式(包括Excel)和Java环境中的Excel文件。下面将详细阐述这两个库以及如何使用它们来生成Excel报表。 Apache POI 是一个...

    java使用jxl打印excel报表文件

    在Java开发中,生成和处理Excel文件是一项常见的任务,特别是在数据导出或报表生成的场景。JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。本篇将深入探讨如何使用JXL库在Java中打印Excel...

    使用JXL生成Excel实例详解

    在Java编程环境中,生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或数据分析等领域。JXL库是一个广泛使用的开源库,专门用于读写Microsoft Excel文件。这篇博客“使用JXL生成Excel实例详解”将深入...

    JXL使用模板通过el表达式生成excel文件

    JXL(Java Excel API)是一个开源的Java库,专门用于读取、写入和修改Microsoft Excel文件。它支持多种操作,包括创建新的Excel工作簿,读取现有的工作簿,修改单元格内容,以及设置样式等。JXL库因其简单易用的API...

    JXL操作EXCEL 数据库导出EXCEL相关文件

    JXL是一个Java库,专门用于读取、写入和修改Excel文件,它为Java开发者提供了一种方便的方式来处理Excel数据,而无需依赖Microsoft Office套件。本篇文章将深入探讨JXL库在操作Excel和数据库导出Excel文件方面的应用...

    [转]java struts2+jxl生成并导出Excel

    这篇博客文章结合了这两个技术,展示了如何在Struts2应用中生成Excel文件并将其导出给用户下载。 在Java开发中,导出数据到Excel是常见的需求,特别是在处理大量结构化数据时,如报表或数据分析。JXL库提供了一个...

    Android中生成excel用到的jar文件.rar

    3. **使用jxl生成Excel文件**: - 创建`Workbook`对象:这是jxl库中的核心类,代表一个Excel工作簿。可以使用`Workbook.createWorkbook()`方法创建一个新的工作簿。 - 创建`Sheet`对象:表示工作簿中的一个工作表,...

    jxl jar包(java生成EXCEL文件)

    Java生成Excel文件是许多开发人员在处理数据导出或报告生成时经常遇到的任务。`jxl`库是一个非常流行的开源Java库,它允许开发者轻松地读取、写入和修改Excel文件。`jxl`库提供了丰富的API,使得在Java程序中操作...

    jxl导出excel文件简单示例

    在这个示例中,我们将探讨如何使用jxl库来生成Excel文件。 首先,你需要在项目中引入jxl库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;net.sourceforge.jexcelapi&lt;/groupId&gt; ...

    JXL生成excel报表

    在IT行业中,生成Excel报表是常见的数据展示和分析任务,而JXL库为Java开发者提供了一个强大且便捷的解决方案。JXL,全称Java Excel API,是一个开源的Java库,专为读取、写入以及修改Excel文件设计。它允许程序员在...

    java通过jxl生成excel文档

    接下来,我们创建一个名为"ExcelReport.java"的Java类,用于生成Excel文件。以下是一个简单的示例: ```java import jxl.Sheet; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; ...

    Java通过POI和JXL给Excel动态添加水印

    - **读取Excel文件**:使用JXL或POI库加载Excel文件。 - **创建水印图像**:根据`Model`中的数据动态生成水印图像。 - **将水印图像添加到Excel页面上**:使用POI提供的API来实现这一功能。 #### 示例代码框架 ```...

    JXL操作EXCEL的各个类的解析.doc

    首先,JXL 提供了一个抽象类 Workbook,该类相当于是一个工具类,用于生成 Excel 文件。Workbook 类提供了多种方法来生成 Excel 文件,例如 createWorkbook(File file)、createWorkbook(File file, Workbook in)、...

    java用list直接生成Excel文件

    利用jxl包结合java反射机制和注释,直接把list生成对应的Excel文件,即只需传入list、对应生成的对象、标题就可以生成excel文件write(String title, List list,Class c),实现一个简单生成excel工具类

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

    在Java编程环境中,处理Excel文件是一项常见的任务,特别是在数据导入导出、报表生成等领域。`jxl`库是一个广泛使用的开源库,它允许开发者用Java读取、写入和修改Excel文件。在这个特定的场景中,我们将探讨如何...

Global site tag (gtag.js) - Google Analytics