- 浏览: 426977 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
Glogo:
楼主您好,我在试验您的代码的时候发现新开的三个子线程并没有一直 ...
java 高并发 ReentrantLock -- 可重入的锁 -
univasity:
最近发觉也被限速了,投诉一下就好一会~~ 看来明天又要和电信M ...
ADSL上网速度慢 都是帐号限速惹的祸 -
liuyuanhui0301:
java 高并发 ReentrantLock -- 可重入的锁 -
dang_java:
呵.很好的说明文档.
JXTA技术与应用发展 -
helloqidi:
谢谢,学习了
SQL中exists和in的区别
如果在你的项目中需要解析 Excel 文件,比如,作为用户上传的模板进行解析。那么选择 jExcel 将是一个不错的决定!虽然 Apache 的 Commons 开源组件包 POI 也能完成相同的功能,但 jExcel 小巧、对中文支持更好!噢,这就足够了!不是吗?我将 jExcel 的主要功能封装成 8 个文件,分别如下。
(1) IExcelWorkbook.java 文件。
(2) IExcelWritableWorkbook.java 文件
(3) IExcelFactory.java 文件。
(4) IExcelCellVisitNotify.java 文件。
(5) ExcelWritableWorkbook.java 文件。
(1) IExcelWorkbook.java 文件。
- import java.util.List;
- import java.util.Map;
- /**
- * IExcelWorkbook 表示只读的 Excel 工作簿。<br>
- * flysoft company.<br>
- * @author Dingli.<br>
- * Jun 15, 2008 12:37:31 AM
- */
- public interface IExcelWorkbook
- {
- /**
- * 获取一行单元格的内容。
- * @param sheetName 工作表名称。
- * @param rowIndex 基于0的行索引。
- * @return 单元格的内容。
- */
- public Object[] getWorksheetRow(String sheetName, int rowIndex);
- /**
- * 获取一行单元格的内容。
- * @param sheetIndex 基于0的工作表索引。
- * @param rowIndex 基于0的行索引。
- * @return 单元格的内容。
- */
- public Object[] getWorksheetRow(int sheetIndex, int rowIndex);
- /**
- * 访问全部工作表内容。
- * @param excelCellVisitNotify Excel 工作表单元格访问通知接口。
- */
- public void visitWorksheets(IExcelCellVisitNotify excelCellVisitNotify);
- /**
- * 访问指定的工作表内容。
- * @param sheetName 工作表名称。
- * @param excelCellVisitNotify Excel 工作表单元格访问通知接口。
- */
- public void visitWorksheet(String sheetName, IExcelCellVisitNotify excelCellVisitNotify);
- /**
- * 访问指定的工作表内容。
- * @param sheetIndex 基于0的工作表索引。
- * @param excelCellVisitNotify Excel 工作表单元格访问通知接口。
- */
- public void visitWorksheet(int sheetIndex, IExcelCellVisitNotify excelCellVisitNotify);
- /**
- * 获取全部工作表内容。
- * @return 保存有全部工作表内容的 Map 对象。Map 的 key 为工作表的名称,value 为 List 对象。
- */
- public Map getWorksheets();
- /**
- * 获取工作表内容。
- * @param sheetName 工作表名称。
- * @return 工作表内容。
- */
- public List getWorksheet(String sheetName);
- /**
- * 获取工作表内容。
- * @param sheetIndex 基于0的工作表索引。
- * @return 工作表内容。
- */
- public List getWorksheet(int sheetIndex);
- /**
- * 关闭工作簿。
- * @throws Exception Exception 异常。
- */
- public void closeWorkbook() throws Exception;
- }
import java.util.List; import java.util.Map; /** * IExcelWorkbook 表示只读的 Excel 工作簿。<br> * flysoft company.<br> * @author Dingli.<br> * Jun 15, 2008 12:37:31 AM */ public interface IExcelWorkbook { /** * 获取一行单元格的内容。 * @param sheetName 工作表名称。 * @param rowIndex 基于0的行索引。 * @return 单元格的内容。 */ public Object[] getWorksheetRow(String sheetName, int rowIndex); /** * 获取一行单元格的内容。 * @param sheetIndex 基于0的工作表索引。 * @param rowIndex 基于0的行索引。 * @return 单元格的内容。 */ public Object[] getWorksheetRow(int sheetIndex, int rowIndex); /** * 访问全部工作表内容。 * @param excelCellVisitNotify Excel 工作表单元格访问通知接口。 */ public void visitWorksheets(IExcelCellVisitNotify excelCellVisitNotify); /** * 访问指定的工作表内容。 * @param sheetName 工作表名称。 * @param excelCellVisitNotify Excel 工作表单元格访问通知接口。 */ public void visitWorksheet(String sheetName, IExcelCellVisitNotify excelCellVisitNotify); /** * 访问指定的工作表内容。 * @param sheetIndex 基于0的工作表索引。 * @param excelCellVisitNotify Excel 工作表单元格访问通知接口。 */ public void visitWorksheet(int sheetIndex, IExcelCellVisitNotify excelCellVisitNotify); /** * 获取全部工作表内容。 * @return 保存有全部工作表内容的 Map 对象。Map 的 key 为工作表的名称,value 为 List 对象。 */ public Map getWorksheets(); /** * 获取工作表内容。 * @param sheetName 工作表名称。 * @return 工作表内容。 */ public List getWorksheet(String sheetName); /** * 获取工作表内容。 * @param sheetIndex 基于0的工作表索引。 * @return 工作表内容。 */ public List getWorksheet(int sheetIndex); /** * 关闭工作簿。 * @throws Exception Exception 异常。 */ public void closeWorkbook() throws Exception; }
(2) IExcelWritableWorkbook.java 文件
- import java.util.List;
- /**
- * IExcelWritableWorkbook 表示可写的 Excel 工作簿。<br>
- * flysoft company.<br>
- * @author Dingli.<br>
- * Jun 14, 2008 1:00:36 PM
- */
- public interface IExcelWritableWorkbook extends IExcelWorkbook
- {
- /**
- * 建立工作簿。
- * @param fileName 文件路径。
- * @throws Exception Exception 异常。
- */
- public void createWorkbook(String fileName) throws Exception;
- /**
- * 建立工作表。要确保在 finally 块使用 closeWorkbook() 方法关闭工作簿,否则工作簿内容将在异常发生时丢失。
- * @param sheetName 工作表名称。
- * @param sheetIndex 基于0的工作表索引。
- * @param list 工作表内容。List 中的每个元素表示一行,以对象数组表示。
- * @throws Exception Exception 异常。
- */
- public void createWorksheet(String sheetName, int sheetIndex, List list) throws Exception;
- /**
- * 删除工作表。
- * @param sheetIndex 基于0的工作表索引。
- */
- public void removeWorksheet(int sheetIndex);
- }
import java.util.List; /** * IExcelWritableWorkbook 表示可写的 Excel 工作簿。<br> * flysoft company.<br> * @author Dingli.<br> * Jun 14, 2008 1:00:36 PM */ public interface IExcelWritableWorkbook extends IExcelWorkbook { /** * 建立工作簿。 * @param fileName 文件路径。 * @throws Exception Exception 异常。 */ public void createWorkbook(String fileName) throws Exception; /** * 建立工作表。要确保在 finally 块使用 closeWorkbook() 方法关闭工作簿,否则工作簿内容将在异常发生时丢失。 * @param sheetName 工作表名称。 * @param sheetIndex 基于0的工作表索引。 * @param list 工作表内容。List 中的每个元素表示一行,以对象数组表示。 * @throws Exception Exception 异常。 */ public void createWorksheet(String sheetName, int sheetIndex, List list) throws Exception; /** * 删除工作表。 * @param sheetIndex 基于0的工作表索引。 */ public void removeWorksheet(int sheetIndex); }
(3) IExcelFactory.java 文件。
- import java.io.InputStream;
- /**
- * Excel 工作簿构建工厂。<br>
- * flysoft company.<br>
- * @author Dingli.<br>
- * Jun 15, 2008 12:33:33 AM
- */
- public interface IExcelFactory
- {
- /**
- * 打开一个只读的 Excel 工作簿并返回。
- * @param fileName 文件路径。
- * @return 一个只读的 Excel 工作簿。
- * @throws Exception Exception 异常。
- */
- public IExcelWorkbook openExcelWorkbook(String fileName) throws Exception;
- /**
- * 打开一个只读的 Excel 工作簿并返回。
- * @param inputStream 基本输入流。
- * @return 一个只读的 Excel 工作簿。
- * @throws Exception Exception 异常。
- */
- public IExcelWorkbook openExcelWorkbook(InputStream inputStream) throws Exception;
- /**
- * 建立一个可写的 Excel 工作簿并返回。
- * @return 一个可写的 Excel 工作簿。
- */
- public IExcelWritableWorkbook createExcelWritableWorkbook();
- /**
- * 建立一个可写的 Excel 工作簿并返回。
- * @param fileName 文件路径。
- * @return 一个可写的 Excel 工作簿。
- * @throws Exception Exception 异常。
- */
- public IExcelWritableWorkbook createExcelWritableWorkbook(String fileName) throws Exception;
- /**
- * 打开一个可写的 Excel 工作簿并返回。
- * @param fileName 文件路径。
- * @return 一个可写的 Excel 工作簿。
- * @throws Exception Exception 异常。
- */
- public IExcelWritableWorkbook openExcelWritableWorkbook(String fileName) throws Exception;
- }
import java.io.InputStream; /** * Excel 工作簿构建工厂。<br> * flysoft company.<br> * @author Dingli.<br> * Jun 15, 2008 12:33:33 AM */ public interface IExcelFactory { /** * 打开一个只读的 Excel 工作簿并返回。 * @param fileName 文件路径。 * @return 一个只读的 Excel 工作簿。 * @throws Exception Exception 异常。 */ public IExcelWorkbook openExcelWorkbook(String fileName) throws Exception; /** * 打开一个只读的 Excel 工作簿并返回。 * @param inputStream 基本输入流。 * @return 一个只读的 Excel 工作簿。 * @throws Exception Exception 异常。 */ public IExcelWorkbook openExcelWorkbook(InputStream inputStream) throws Exception; /** * 建立一个可写的 Excel 工作簿并返回。 * @return 一个可写的 Excel 工作簿。 */ public IExcelWritableWorkbook createExcelWritableWorkbook(); /** * 建立一个可写的 Excel 工作簿并返回。 * @param fileName 文件路径。 * @return 一个可写的 Excel 工作簿。 * @throws Exception Exception 异常。 */ public IExcelWritableWorkbook createExcelWritableWorkbook(String fileName) throws Exception; /** * 打开一个可写的 Excel 工作簿并返回。 * @param fileName 文件路径。 * @return 一个可写的 Excel 工作簿。 * @throws Exception Exception 异常。 */ public IExcelWritableWorkbook openExcelWritableWorkbook(String fileName) throws Exception; }
(4) IExcelCellVisitNotify.java 文件。
- /**
- * Excel 工作表单元格访问通知接口。<br>
- * flysoft company.<br>
- * @author Dingli.<br>
- * Jun 7, 2008 1:05:18 PM
- */
- public interface IExcelCellVisitNotify
- {
- /**
- * 实现此方法用于访问到每一个单元格时给与通知。
- * @param sheetName 当前访问的工作表名称。
- * @param rowIndex 当前访问的基于0的工作表行。
- * @param columnIndex 当前访问的基于0的工作表列。
- * @param cellContent 当前访问单元格内容。
- */
- public void cellVisit(String sheetName, int rowIndex, int columnIndex, Object cellContent);
- }
/** * Excel 工作表单元格访问通知接口。<br> * flysoft company.<br> * @author Dingli.<br> * Jun 7, 2008 1:05:18 PM */ public interface IExcelCellVisitNotify { /** * 实现此方法用于访问到每一个单元格时给与通知。 * @param sheetName 当前访问的工作表名称。 * @param rowIndex 当前访问的基于0的工作表行。 * @param columnIndex 当前访问的基于0的工作表列。 * @param cellContent 当前访问单元格内容。 */ public void cellVisit(String sheetName, int rowIndex, int columnIndex, Object cellContent); }
(5) ExcelWritableWorkbook.java 文件。
- import java.io.File;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import jxl.Cell;
- import jxl.Workbook;
- import jxl.write.Label;
- import jxl.write.WritableSheet;
- import jxl.write.WritableWorkbook;
- /**
- * ExcelWritableWorkbook 表示可写的 Excel 工作簿。<br>
- * flysoft company.<br>
- * @author Dingli.<br>
- * Jun 14, 2008 1:01:10 PM
- */
- class ExcelWritableWorkbook implements IExcelWritableWorkbook
- {
- //Excel 工作簿对象。
- private WritableWorkbook writableWorkbook = null;
- /**
- * ExcelWritableWorkbook 的默认构造方法。
- */
- public ExcelWritableWorkbook()
- {}
- /**
- * 建立工作簿。
- * @param fileName 文件路径。
- * @throws Exception Exception 异常。
- */
- public ExcelWritableWorkbook(String fileName) throws Exception
- {
- this.createWorkbook(fileName);
- }
- /**
- * 打开工作簿。要确保在 finally 块使用 closeWorkbook() 方法关闭工作簿,否则工作簿内容将在异常发生时丢失。
- * @param fileName 文件路径。
- * @return ExcelWorkbook 对象。
- * @throws Exception Exception 异常。
- */
- public static ExcelWritableWorkbook openWorkbook(String fileName) throws Exception
- {
- ExcelWritableWorkbook excelWritableWorkbook = new ExcelWritableWorkbook();
- excelWritableWorkbook.writableWorkbook = Workbook.createWorkbook(new File(fileName));//, Workbook.getWorkbook(new File(fileName)));
- return excelWritableWorkbook;
- }
- /*
- * (non-Javadoc)
- * @see com.flysoft.dozen.support.jxl.IExcelWritableWorkbook#createWorkbook(java.lang.String)
- */
- public void createWorkbook(String fileName) throws Exception
- {
- this.writableWorkbook = Workbook.createWorkbook(new File(fileName));
- }
- /*
- * (non-Javadoc)
- * @see com.flysoft.dozen.support.jxl.IExcelWritableWorkbook#createWorksheet(java.lang.String, int, java.util.List)
- */
- public void createWorksheet(String sheetName, int sheetIndex, List list) throws Exception
- {
- if(this.writableWorkbook != null)
- {
- WritableSheet writableSheet = this.writableWorkbook.createSheet(sheetName, sheetIndex);
- for(int i = 0; i < list.size(); i++)
- {
- Object[] row = (Object[])list.get(i);
- for(int j = 0; j < row.length; j++)
- {
- Label label = new Label(j, i, row[j].toString());
- writableSheet.addCell(label);
- }
- }
- }
- }
- /*
- * (non-Javadoc)
- * @see com.flysoft.dozen.support.jxl.IExcelWritableWorkbook#getWorksheetRow(java.lang.String, int)
- */
- public Object[] getWorksheetRow(String sheetName, int rowIndex)
- {
- return this.getWorksheetRow(rowIndex, sheetName);
- }
- /*
- * (non-Javadoc)
- * @see com.flysoft.dozen.support.jxl.IExcelWritableWorkbook#getWorksheetRow(int, int)
- */
- public Object[] getWorksheetRow(int sheetIndex, int rowIndex)
- {
- return this.getWorksheetRow(rowIndex, Integer.valueOf(sheetIndex));
- }
- /*
- * (non-Javadoc)
- * @see com.flysoft.dozen.support.jxl.IExcelWritableWorkbook#visitWorksheets(com.flysoft.dozen.support.jxl.IExcelCellVisitNotify)
- */
- public void visitWorksheets(IExcelCellVisitNotify excelCellVisitNotify)
- {
- if(this.writableWorkbook != null)
- {
- String[] sheetNames = this.writableWorkbook.getSheetNames();
- for(int i = 0; i < sheetNames.length; i++)
- {
- this.getWorksheet(sheetNames[i], excelCellVisitNotify);
- }
- }
- }
- /*
- * (non-Javadoc)
- * @see com.flysoft.dozen.support.jxl.IExcelWritableWorkbook#visitWorksheet(java.lang.String, com.flysoft.dozen.support.jxl.IExcelCellVisitNotify)
- */
- public void visitWorksheet(String sheetName, IExcelCellVisitNotify excelCellVisitNotify)
- {
- this.getWorksheet(sheetName, excelCellVisitNotify);
- }
- /*
- * (non-Javadoc)
- * @see com.flysoft.dozen.support.jxl.IExcelWritableWorkbook#visitWorksheet(int, com.flysoft.dozen.support.jxl.IExcelCellVisitNotify)
- */
- public void visitWorksheet(int sheetIndex, IExcelCellVisitNotify excelCellVisitNotify)
- {
- this.getWorksheet(Integer.valueOf(sheetIndex), excelCellVisitNotify);
- }
- /*
- * (non-Javadoc)
- * @see com.flysoft.dozen.support.jxl.IExcelWritableWorkbook#getWorksheets()
- */
- public Map getWorksheets()
- {
- Map map = null;
- if(this.writableWorkbook != null)
- {
- String[] sheetNames = this.writableWorkbook.getSheetNames();
- map = new HashMap(sheetNames.length);
- for(int i = 0; i < sheetNames.length; i++)
- {
- map.put(sheetNames[i], this.getWorksheet(sheetNames[i], null));
- }
- }
- return map;
- }
- /*
- * (non-Javadoc)
- * @see com.flysoft.dozen.support.jxl.IExcelWritableWorkbook#getWorksheet(java.lang.String)
- */
- public List getWorksheet(String sheetName)
- {
- return this.getWorksheet(sheetName, null);
- }
- /*
- * (non-Javadoc) </spa>
发表评论
-
Android 数字签名学习笔记
2012-04-25 11:03 965在 Android系统中,所有安装到系统的应用程序都必有 ... -
序列化:serializable,hessian,protobuf性能对比
2011-10-31 17:08 1248分布式应用系统中,系统之间的通讯的质量决定了系统的可用性 ... -
JAR 文件揭密
2011-10-18 01:28 887JAR 文件是什么? ... -
SSL双向认证java实现
2011-10-17 23:49 1018本文通过模拟场景,介绍SSL双向认证的java实现默认的情况下 ... -
Benchmark Analysis: Guice vs Spring
2011-04-19 14:35 1043The original link can be found ... -
Java Network Launching Protocol
2011-04-18 17:43 920在java开发的早期,重点被放在了客户端开发。语言中对于app ... -
NIO 包及工作原理
2011-03-11 11:14 1738NIO 包及工作原理 针对 ... -
使用Java NIO编写高性能的服务器
2011-03-11 01:19 796从JDK 1.4开始,Java的标 ... -
RMI, RMI-IIOP,JNDI
2009-05-21 17:31 15071. RMI-IIOP(Java Remote ... -
企业中的 RMI-IIOP
2009-05-21 17:13 1009RMI 和 CORBA 常被视 ... -
JMX
2009-05-21 15:44 982JMX规范 1.1 J ... -
使用Eclipse IDE的技巧
2009-02-24 11:00 1789使用Eclipse IDE的技巧 作 ... -
spring quartz 动态定时任务
2009-01-22 13:31 4487什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什 ... -
基于struts+spring+ibatis的轻量级
2009-01-12 16:21 1033基于struts+spring+ibatis的轻量级J2 ... -
Log4j配置实例[经典]
2009-01-12 14:53 1283Log4j配置实例[经典] 0 推荐 ... -
jbpm工作流学习心得
2008-09-19 13:59 1301一,装载流程: 第一种: java 代码 JbpmCo ... -
jbpm请假工作流
2008-09-19 13:56 1848请假流程(备用) 工作中要用到JBPM写工作流,自习的时 ... -
利用JExcel API操作EXCEL文件
2008-09-08 10:52 1470使用Windows操作系统的朋 ... -
Tomcat5.0乱码全解决方案
2008-09-02 11:56 1094http://hi.baidu.com/liet2008/bl ... -
Linux_Macintosh 平台下 Eclipse 环境中的 JNI 混合语言调试
2008-08-28 18:27 1487Linux_Macintosh 平台下 Eclipse ...
相关推荐
JExcel API 提供了丰富的 API,能够方便地进行单元格操作、公式计算以及格式设置等功能。在描述中提到的 "jxl" 就是这个库的简称,而提供的源代码和 JAR 文件则是开发和使用 JExcel API 的基础。 1. **安装与依赖**...
**JExcel API** 是一个强大的Java库,专为在Java应用程序中处理电子表格而设计,尤其适用于Excel文件的操作。这个API使得开发人员能够方便地创建、读取和修改Excel文件,而无需依赖Microsoft Office或者其他的外部...
**JExcel API 2.6.12:Java与Excel交互的强大工具** JExcel API 是一个流行的开源Java库,用于读取、写入和修改Microsoft Excel文件。版本2.6.12是这个库的一个稳定版本,提供了丰富的功能来处理Excel数据。在Java...
JExcel2.0的API文档 自己根据官方文档制作,供有兴趣的朋友分享
jxl jexce api jxl jexce api
java 处理excel工具,用于读取Excel内容,并进行必要的处理-java processing excel tool for Excel to read the content and the necessary processing
JExcel API是一个强大的库,它允许开发者在Java应用程序中方便地读写Microsoft Excel文件。这个教程可能是为了介绍如何使用JExcel API来实现对Excel文件的基本操作,如读取数据、写入数据以及将数据库中的数据保存到...
【jExcel学习帮助文档】 jExcel 是一个轻量级的Java库,专门用于解析和处理Excel文件。相较于Apache POI,jExcel具有更小的体积和更好的中文支持,使其成为处理用户上传的Excel模板的理想选择。这个库的核心功能被...
这些库文件包含了所有必要的API,允许开发者在代码中调用JExcel的功能。"docs"文件夹可能包含相关的API文档或者示例代码,这对于理解和学习如何使用这个库非常有帮助。"jexcel_2_6_2"可能是一个特定版本的JExcel源码...
JExcelAPI java 用于操作excel的一些API JAr包
### jExcel实现与Java Excel API详解 #### 一、引言 随着互联网技术的发展,越来越多的应用程序需要在Web端处理Excel文件。对于开发者而言,如何高效地读取、写入Excel文件成为了一项重要的技能。Java作为一种广泛...
Java Excel是一开放源码项目,通过它Java...使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。
JExcel API(简称JXL)是一个流行的开源库,允许开发者使用Java动态创建、读取和修改Excel文件。以下是对如何使用JExcel API创建Excel文件的详细步骤和相关知识点的介绍。 首先,你需要从JExcel API的官方站点或者...
它为开发者提供了一系列工具和API,使得在Java应用程序中创建、读取、编辑Excel文件变得简单。该实用指南详细介绍了如何利用JExcel进行Excel自动化操作,并提供了丰富的示例和技巧。 #### 二、JExcel概述 - **功能...
同时,`docs`目录下的文档提供了详细的API参考和教程,有助于深入学习其各种功能。`Readme-说明.htm`、`License.txt`和`Readme.txt`提供了关于库的基本信息和授权条款。 5. **开发流程** 开发过程中,可以通过创建...
- **docs**: 这里可能存放了JExcel的文档,包括API参考、用户手册和示例代码,对于开发者来说是极其重要的资源。 - **samples**: 示例代码和项目,帮助开发者了解如何使用JExcel进行实际开发,这些例子可以帮助快速...
对于多列合并功能,jExcel提供了简便的API接口。用户可以通过设置特定列的`merge`属性来实现单元格的合并。例如,如果想要合并第一列的第二行和第三行,可以这样操作: ```javascript { title: "Column Title", ...
3. **交互操作**:jExcel提供了丰富的API供开发者调用,如添加行、删除行、获取选中单元格等。 4. **事件监听**:通过监听jExcel的事件,如`onCellClick`、`onBeforeChange`等,实现自定义逻辑。 四、示例应用 在...
标题中的“JExcel / 小试牛刀”表明这是一个关于使用JExcel库进行电子表格操作的实践案例。JExcel是一个Java库,它允许开发者在Java应用程序中读取、写入和修改Excel文件,极大地简化了与Excel数据交互的工作。在这...
JExcel是一个流行的开源库,它为Java开发者提供了一种便捷的方式来读写Microsoft Excel文件(.xls格式)。这个库的核心是jxl.jar,它是JExcel的主要组件,包含了处理Excel文件所需的所有类和方法。 **JExcel核心...