/**
*
*/
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文件是一项常见的任务,特别是在数据处理、报表生成或导出时。JXL是一个开源的Java库,允许我们读取、写入和修改Excel文件。以下将详细讲解如何使用JXL库来生成Excel文件。 首先,我们需要在...
使用jxl生成excel的通用方法,参数List<?>数据,LinkedHashMap,String>实体类属性名和中文列名的键值对
自己封装的方法,调用 XlHelper.getXl(List<?> voList , Object head , OutputStream ops)方法,直接返回需要的excel,而不需要再去写jxl的方法。第一个参数voList 是excel里的内容,第二个参数head是excel表头。第...
这篇博客“利用Jxl生成excel文件”提供了关于如何使用Jxl库创建Excel文档的指导。 首先,Jxl库允许开发者在Java程序中直接操作Excel格式的数据,而无需依赖Microsoft Office套件。它支持多种Excel功能,如单元格...
这篇博客“使用JXL生成Excel实例详解”将深入探讨如何利用JXL库来创建Excel文件。 首先,要开始使用JXL,你需要在项目中添加JXL的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml ...
用jxl生成EXCEL表格,一个非常简单易懂的写法。
在Java编程环境中,生成Excel报表是一项常见的任务,尤其在数据处理和数据分析中。Apache POI 和 JExcelAPI(JXL)是两个广泛使用的库,分别用于处理Microsoft Office的POI格式(包括Excel)和Java环境中的Excel文件...
jxl是对excel强有力的操纵工具,它具有丰富的API可以满足对excel的各种开发需要。
"jxl模版生成excel" 指的是使用JExcelAPI(简称jxl)这个Java库来创建基于模板的Excel文件。JExcelAPI是一个开源项目,允许程序开发者读写Microsoft Excel文件,它支持从Java数据结构直接导出到Excel格式,同时也可...
在IT行业中,生成Excel报表是常见的数据展示和分析任务,而JXL库为Java开发者提供了一个强大且便捷的解决方案。JXL,全称Java Excel API,是一个开源的Java库,专为读取、写入以及修改Excel文件设计。它允许程序员在...
Java通过JXL库生成Excel文档是一项常见的任务,尤其在数据导出、报表生成等领域非常实用。JXL是一个Java API,允许我们读写Microsoft Excel文件,而无需依赖Microsoft Office。在这个过程中,我们可以创建新的工作簿...
相比之下,Jxl生成的标准Excel文件在样式和功能方面更为可靠,因为大多数用户都熟悉Excel的界面和功能。此外,Jxl的API直观易用,对于需要快速实现打印功能的开发者来说是一个不错的选择。 总的来说,Jxl库为Java...
这篇博客文章结合了这两个技术,展示了如何在Struts2应用中生成Excel文件并将其导出给用户下载。 在Java开发中,导出数据到Excel是常见的需求,特别是在处理大量结构化数据时,如报表或数据分析。JXL库提供了一个...
例子如下: Object是一个对象实体类,如Studnet.java. List 是一个对象集合,后面的是输出路径. WriteExcel rw=new WriteExcel(); rw.writeExcel(new Object(), List, "f:/a.xls","库存表");
在Web开发中,Jxl库提供了一种方便的方式来生成标准的Excel文件,可以替代JavaScript的打印或封闭式套打插件。由于Excel具有丰富的内置功能和样式,因此能满足大多数用户的需求。Jxl库易于上手,特别适合那些对打印...
### jxl创建下拉列表知识点解析 #### 一、jxl概述 jxl 是一个用于读写Microsoft Excel 文件的Java库。它支持多种版本的Excel文件...此外,还可以根据实际需求添加更多的样式和特性,使得生成的Excel文件更加符合预期。
这里我们将深入探讨如何使用jxl.jar库在Android环境中操作Excel表格,特别是处理隐藏表的情况。 首先,jxl是一个Java库,它允许我们以编程方式读取和写入Microsoft Excel文件。由于Android系统基于Java,因此可以...
### Java通过POI和JXL给Excel动态添加水印 #### 概述 在实际工作中,经常需要对敏感或重要的Excel文件进行保护措施,比如添加水印。这不仅可以增加文档的专业性,还可以作为版权保护的一种手段。本文将详细介绍...
本资源提供了一个利用jxl库实现Java程序中生成Excel表格的解决方案。jxl是一个广泛使用的开源Java库,它允许开发者读取、写入和修改Microsoft Excel文件。 首先,我们来详细了解一下jxl库。jxl库支持多种Excel操作...
在Java开发中,生成和处理Excel文件是一...总的来说,通过JXL库,Java开发者可以方便地生成和打印Excel报表,满足各种数据展示和导出的需求。尽管JXL有一些限制,但其简单易用的API使得它成为小型项目的一个不错选择。