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

jxl生成excel

阅读更多
/**
 * 
 */
package com.automic.monitor.dailyWork.toExcel.util;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

import jxl.Workbook;
import jxl.write.Colour;
import jxl.write.Label;
import jxl.write.WritableCell;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;

import com.automic.monitor.dailyWork.toExcel.pvo.FileVO;

/**
 * @author hxb
 *
 */
public class ExcelUtil {

	private WritableWorkbook book;
	private WritableSheet sheet;
	
	/**
	 * @return获得ExcelUtil实例对象
	 */
	public static ExcelUtil getInstance(){
		return new ExcelUtil();
	}
	/**
	 * @param savePath
	 * @return得到savePath下文件列表
	 */
	public ArrayList<FileVO> getFiles(String savePath){
		ArrayList<FileVO> vos = new ArrayList<FileVO>(0);
		File f = new File(savePath);
		File[] fs = f.listFiles();
		for(int i = 0;fs != null && i < fs.length;i++){
			File temp = fs[i];
			FileVO vo = new FileVO();
			vo.setName(temp.getName());
			vo.setPath(savePath + vo.getName());
			
			vos.add(vo);
		}
		return vos;
	}
	/**
	 * @param savePath
	 * @param fileName
	 * @return判断文件是否存在,true:存在、false:不存在
	 */
	public boolean isExist(String savePath,String fileName){
		File f = new File(savePath);
		File[] fs = f.listFiles();
		for(int i = 0;fs != null && i < fs.length;i++){
			File ftemp = fs[i];
			String nameTemp = ftemp.getName();
			if(fileName != null && fileName.equals(nameTemp)){
				return true;
			}
		}		
		return false;
	}
	
	/**
	 * @param dir
	 * 构建excel文档及sheet
	 * @throws IOException
	 * @return :false:创建失败、true:创建成功 
	 */
	public boolean createBookSheet(String saveFile,String sheetName,int sheetNo) throws IOException{
		if(this.book == null){
			this.book = Workbook.createWorkbook(new File(saveFile));
		}
		if(this.sheet == null || this.book.getSheet(sheetNo) == null){
			this.sheet = this.book.createSheet(sheetName, sheetNo);
			return true;
		}
		return false;
	}
	/**
	 * @param header
	 * @throws WriteException 
	 * @return构建excel表头列数
	 */
	@SuppressWarnings("deprecation")
	public int buildHeader(ArrayList<String> header) throws WriteException{
		if(header == null || header.size() < 1){
			return 0;
		}
		if(this.book == null || this.sheet == null){
			return 0;
		}
		for(int i = 0;i < header.size();i++){
			String content = header.get(i);
			WritableCell cell =  new Label(i,0,content);
			WritableCellFormat format = new WritableCellFormat();
			format.setBackground(Colour.GRAY_25);
			cell.setCellFormat(format);
			this.sheet.addCell(cell);
		}
		return 0;
	}
	/**
	 * @param oobj
	 * 构建excel文件内容
	 * @throws WriteException 
	 * @throws RowsExceededException 
	 */
	public boolean buildContent(ArrayList<ArrayList<Object>> oobj) throws RowsExceededException, WriteException{
		if(this.book == null || this.sheet == null){
			return false;
		}
		for(int i = 0;oobj != null && i < oobj.size();i++){//行解析
			int row = i + 1;
			ArrayList<Object> obj = oobj.get(i);
			for(int k = 0;obj != null && k < obj.size();k++){//列解析
				Object o = obj.get(k);
				WritableCell cell =  new Label(k,row,(o == null ? "" : o.toString()));
				this.sheet.addCell(cell);
			}
		}
		
		return true;
	}
	/**
	 * 关闭写出流
	 * @throws IOException 
	 * @throws WriteException 
	 */
	public void closed() throws IOException, WriteException{
		if(this.book != null){
			this.book.write();
			this.book.close();
		}
	}
}

 

分享到:
评论

相关推荐

    java利用jxl生成excel文件

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

    jxl生成excel的通用方法

    使用jxl生成excel的通用方法,参数List&lt;?&gt;数据,LinkedHashMap,String&gt;实体类属性名和中文列名的键值对

    java操作jxl生成excel的简化jar包

    自己封装的方法,调用 XlHelper.getXl(List&lt;?&gt; voList , Object head , OutputStream ops)方法,直接返回需要的excel,而不需要再去写jxl的方法。第一个参数voList 是excel里的内容,第二个参数head是excel表头。第...

    利用Jxl生成excel文件

    这篇博客“利用Jxl生成excel文件”提供了关于如何使用Jxl库创建Excel文档的指导。 首先,Jxl库允许开发者在Java程序中直接操作Excel格式的数据,而无需依赖Microsoft Office套件。它支持多种Excel功能,如单元格...

    使用JXL生成Excel实例详解

    这篇博客“使用JXL生成Excel实例详解”将深入探讨如何利用JXL库来创建Excel文件。 首先,要开始使用JXL,你需要在项目中添加JXL的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml ...

    用jxl生成EXCEL表格

    用jxl生成EXCEL表格,一个非常简单易懂的写法。

    poi jxl 生成EXCEL 报表

    在Java编程环境中,生成Excel报表是一项常见的任务,尤其在数据处理和数据分析中。Apache POI 和 JExcelAPI(JXL)是两个广泛使用的库,分别用于处理Microsoft Office的POI格式(包括Excel)和Java环境中的Excel文件...

    jxl 生成excel 简易教程

    jxl是对excel强有力的操纵工具,它具有丰富的API可以满足对excel的各种开发需要。

    jxl模版生成excel

    "jxl模版生成excel" 指的是使用JExcelAPI(简称jxl)这个Java库来创建基于模板的Excel文件。JExcelAPI是一个开源项目,允许程序开发者读写Microsoft Excel文件,它支持从Java数据结构直接导出到Excel格式,同时也可...

    JXL生成excel报表

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

    java通过jxl生成excel文档

    Java通过JXL库生成Excel文档是一项常见的任务,尤其在数据导出、报表生成等领域非常实用。JXL是一个Java API,允许我们读写Microsoft Excel文件,而无需依赖Microsoft Office。在这个过程中,我们可以创建新的工作簿...

    关于使用Jxl生成Excel并打印的经验总结.docx

    相比之下,Jxl生成的标准Excel文件在样式和功能方面更为可靠,因为大多数用户都熟悉Excel的界面和功能。此外,Jxl的API直观易用,对于需要快速实现打印功能的开发者来说是一个不错的选择。 总的来说,Jxl库为Java...

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

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

    jxl 自动生成excel

    例子如下: Object是一个对象实体类,如Studnet.java. List 是一个对象集合,后面的是输出路径. WriteExcel rw=new WriteExcel(); rw.writeExcel(new Object(), List, "f:/a.xls","库存表");

    关于使用Jxl生成Excel并打印的经验总结.pdf

    在Web开发中,Jxl库提供了一种方便的方式来生成标准的Excel文件,可以替代JavaScript的打印或封闭式套打插件。由于Excel具有丰富的内置功能和样式,因此能满足大多数用户的需求。Jxl库易于上手,特别适合那些对打印...

    jxl创建下拉列表

    ### jxl创建下拉列表知识点解析 #### 一、jxl概述 jxl 是一个用于读写Microsoft Excel 文件的Java库。它支持多种版本的Excel文件...此外,还可以根据实际需求添加更多的样式和特性,使得生成的Excel文件更加符合预期。

    使用jxl.jar在Android中操作Excel表格

    这里我们将深入探讨如何使用jxl.jar库在Android环境中操作Excel表格,特别是处理隐藏表的情况。 首先,jxl是一个Java库,它允许我们以编程方式读取和写入Microsoft Excel文件。由于Android系统基于Java,因此可以...

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

    ### Java通过POI和JXL给Excel动态添加水印 #### 概述 在实际工作中,经常需要对敏感或重要的Excel文件进行保护措施,比如添加水印。这不仅可以增加文档的专业性,还可以作为版权保护的一种手段。本文将详细介绍...

    jxl方式生成excel表格.zip

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

    java使用jxl打印excel报表文件

    在Java开发中,生成和处理Excel文件是一...总的来说,通过JXL库,Java开发者可以方便地生成和打印Excel报表,满足各种数据展示和导出的需求。尽管JXL有一些限制,但其简单易用的API使得它成为小型项目的一个不错选择。

Global site tag (gtag.js) - Google Analytics