- 浏览: 740362 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (194)
- Webservice (6)
- ExtJs (2)
- Work Summary (4)
- CoreJava (51)
- Spring (10)
- EJB (5)
- struts1.x (3)
- C/C++ (5)
- DatabaseManager (19)
- Hibernate (5)
- Crytology (1)
- Web Server (5)
- Software Manager (5)
- WebUi (39)
- Web page (2)
- android (5)
- struts2 (12)
- Java 导出 Excel (1)
- Spring 与struts2 和Hibernate 4.0注解解决方安 (1)
- Dwr (1)
- maven3 (4)
- Windows (3)
- 表格头部信息不动使用Jquery 外部框架 (1)
- 软件行业动态 (1)
- mybatis (1)
- C# (3)
- MySQL (4)
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
LODOP插件开发 -
an52036:
u010980147 写道您的代码确实能生成条形码,但是打印出 ...
Java 条形码生成(一维条形码) -
di1984HIT:
学习了,很好~~
Ant 打包war 生成文件内容build.xml -
lhb319lhb:
如果 ajax(jquery)更新了 iframe 的 src ...
jquery 修改iframe src -
calosteward:
感谢楼主,除了一维条码,有没有相关二维码的资源呢?______ ...
Java 条形码生成(一维条形码)
1. poi 包的介绍
Apache POI是Apache软件基金会的开放源码函式库,
POI提供API给Java程式对Microsoft Office格式档案读和写的功能。
HSSF - 提供读写Microsoft Excel格式档案的功能。
XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。
HWPF - 提供读写Microsoft Word格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读写Microsoft Visio格式档案的功能。
2.在这里我们介绍一下典型的类型就OK
这里我们来介绍excel 是怎么解释的,当然像word、ppt、visio 是同理的
原理: 某管理员要查某层楼有多少人叫什么名字?
1)首先要明确大楼在那里(找到对应的文件)
2)其次要明确是在第几单元(找到对应的sheet)
3)在找到第几层楼(对应的row)
4)敲门问住户户主先生/小姐的姓名(cell)
就这样就实现了,我们查找某层楼的户主信息了。是不是很简单
我们来看一下用poi 程序包怎么来实现excel 文件的解释工作
注意第四项有先生/小姐所以有一条是重点就是类型string、int、function 等
package com.test; import java.io.FileInputStream; import java.util.Iterator; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; /** * @see poi 设计原理介绍 * @author liuqing * */ public class TestA { public static void main(String args[]) throws Exception { //找到大楼的位置 FileInputStream input = new FileInputStream("d:\\usb.xls"); //告诉管理员 POIFSFileSystem f = new POIFSFileSystem(input); //走到大楼楼下 HSSFWorkbook wb = new HSSFWorkbook(f); //确认自己走到第几单元 HSSFSheet sheet = wb.getSheetAt(0); //看一看有没有楼层 Iterator rows = sheet.rowIterator(); while (rows.hasNext()) { //如果有我们一层层问 HSSFRow row = (HSSFRow)rows.next(); Iterator cells = row.cellIterator(); //如果有人开门 while(cells.hasNext()) { //我们一户一户的登记 HSSFCell cell = (HSSFCell) cells.next(); //是先生还是小姐(对应的数据类型) System.out.print(cell.getStringCellValue() + "====|==="); } System.out.println(""); } } }
为了方便于正确的读取我们做了一个封装
package com.test; import java.io.FileInputStream; import java.util.Iterator; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import org.apache.poi.ss.usermodel.Cell; /** * @see poi 设计原理介绍 * @author liuqing * */ public class TestA { public static void main(String args[]) throws Exception { //找到大楼的位置 FileInputStream input = new FileInputStream("d:\\dir.xls"); //告诉管理员 POIFSFileSystem f = new POIFSFileSystem(input); //走到大楼楼下 HSSFWorkbook wb = new HSSFWorkbook(f); //确认自己走到第几单元 HSSFSheet sheet = wb.getSheetAt(0); //看一看有没有楼层 Iterator rows = sheet.rowIterator(); while (rows.hasNext()) { //如果有我们一层层问 HSSFRow row = (HSSFRow)rows.next(); Iterator cells = row.cellIterator(); //如果有人开门 while(cells.hasNext()) { //我们一户一户的登记 HSSFCell cell = (HSSFCell) cells.next(); //是先生还是小姐(对应的数据类型) int cellType = cell.getCellType(); System.out.print(getValue(cell,cellType)); } System.out.println(""); } } /** * 值对象封装 * @param cell * @param cellType * @return */ public static Object getValue(Cell cell,int cellType) { if (cellType == Cell.CELL_TYPE_NUMERIC) { return cell.getNumericCellValue() + " | "; } else if (cellType == Cell.CELL_TYPE_STRING) { return cell.getRichStringCellValue() + " | "; } else if (cellType == Cell.CELL_TYPE_BOOLEAN) { return cell.getBooleanCellValue() + " | "; } else if (cellType == Cell.CELL_TYPE_FORMULA) { return cell.getCellFormula() + " | "; } else if (cellType == Cell.CELL_TYPE_BLANK) { return "" + " | "; } else if (cellType == Cell.CELL_TYPE_ERROR) { return "" + " | "; } else { return "" + " | "; } } }
运行结果
编号 | 出生年月日 | 性别 | 美好 | 2134.0 | 40453.0 | 21.0 | 213.0 | SSS | 40453.0 | 22.0 | 3321.0 | AS | 40453.0 | 23.0 | 3322.0 | DSADSA | 40453.0 | 24.0 | 3323.0 | 2134.0 | 40453.0 | 25.0 | 3324.0 | DSADSA | 40453.0 | 26.0 | 3325.0 | DSADSA | 40453.0 | 27.0 | 3326.0 | AS | 40453.0 | 28.0 | 3327.0 | 40453.0 | 40453.0 | 29.0 | 3328.0 | 40453.0 | 40453.0 | 30.0 | 3329.0 | 40453.0 | 40453.0 | ASAD | DASD | 2123321.0 | 40453.0 | DSA | DSAD |
发表评论
-
ubuntu 安装JDK失败
2020-09-01 20:40 0文件/etc/apt/sources.list是一个普通可 ... -
ubuntu完美卸载JDK
2020-09-01 12:31 763要删除 OpenJDK (如果已安装的话)。首先,检查是安装 ... -
freemark 基本语法
2018-03-22 23:19 894reemarker的基本语法及入门基础 一、freem ... -
linux 新增硬盘分区并挂载
2016-06-02 12:45 1702运行fdisk -l 查看计算机对应的硬盘信息 Disk ... -
JasperReports打印图片
2016-05-21 22:20 2968long start = System.currentTim ... -
CAS 客户端与一般Web项目集成
2015-07-04 16:20 16204这一段时间有同事在问CAS -Client的问题这里就基本问 ... -
CAS-项目集成问题整理
2015-07-04 15:24 1415javax.net.ssl.SSLHandshakeExc ... -
CAS 与Tomcat 集成
2015-06-29 15:16 3759第一节:生成证书 第一步:生成keystore注意【cn= ... -
logback 日志配置生成当天志并分大小
2015-03-26 17:00 1654<?xml version="1.0&quo ... -
Mysql锁表问题
2015-03-26 09:57 9171)查询锁表问题 show open tables ... -
excel 导出文件中文问题
2015-03-24 23:39 1758package com.tzdr.common.utils; ... -
HttpURLConnection Post
2015-02-04 17:08 952/** * Http访问 * @param ht ... -
java获取classpath路径
2015-02-01 11:03 7831ClassLoader 提供了两个方法用于从装载的类路径中取 ... -
Con 表达式
2014-12-28 13:00 2927cron表达式详解 Cron表 ... -
Spring3 +JPA
2014-12-25 19:23 12581)META-INF/persistence.xml T ... -
Hessian调用方法
2014-09-26 12:45 6155package com.huashun.api. ... -
Freemark的使用
2014-06-09 15:27 998freemark 解释 package com.pa ... -
J2EE安装问题
2014-03-20 16:39 984安装J2EE的SDK报错:could ... -
Applet 有包配置及开发HeloWorldl
2013-06-13 08:48 12101.开发代码 package com.newt ... -
Jetty嵌入式服务器端开发
2013-06-07 08:09 10901.服务器代码 package com.newto ...
相关推荐
在Java编程领域,Apache POI库是一个非常流行的API,它允许开发者读取、写入以及修改Microsoft Office格式的文件,包括Excel。本篇文章将详细探讨如何利用POI库基于模板来导出Excel文档。 首先,我们需要理解Apache...
在JavaExcel的实践中,当一次性加载大量数据到内存时,确实容易引发`OutOfMemoryError`,这是因为Excel对象模型在内存中的表示占用空间较大。为了解决这个问题,我们需要采用流式处理或者分批处理的策略。在描述中...
标题中的“poi将word、PPT、Excel转pdf实现在线预览的jar包”涉及到的是Apache POI库在Java开发中的应用,以及如何利用它来处理Microsoft Office文档并转换为PDF格式,以便进行在线预览。Apache POI是Java平台上用于...
`jxls`是一个Java库,它扩展了Apache POI项目,使得我们可以使用简单的模板语法来读写Excel文件。`jxls-poi`是`jxls`的一个分支,专门针对Apache POI进行优化,支持使用POI API处理Excel文件。Apache POI是一个开源...
在处理Excel文件时,Apache POI提供了一系列API,例如SXSSF(Streaming Usermodel API)就是为了解决内存消耗问题而设计的。SXSSF允许开发者在内存有限的情况下处理大型Excel文件,因为它会将部分数据写入磁盘,而...
标题中的“基于JAVA的依赖POI包装的EXCEL读写组件”指的是一个使用Java编程语言开发的工具,它依赖于Apache POI库来处理Microsoft Excel文件的读取和写入操作。Apache POI是一个开源项目,它允许开发者使用Java来...
在IT领域,数据库设计是软件开发过程中的关键环节,它涉及到数据...配合“数据库设计文档.xlsx”和“DataBaseDocumentCreater4Excel”这两个文件,用户可以深入理解工具的工作原理,并可能根据自身需求进行定制和扩展。
1. **Java与Excel交互库** Java中常用处理Excel的库有Apache POI和JExcelAPI。Apache POI是更流行的选择,它提供了对Microsoft Office格式(包括Excel)的读写支持。POI库分为HSSF(用于旧版的.xls文件)和XSSF...
Apache POI 是一个著名的开源项目,主要为处理微软的Office文档格式提供了一个强大的Java API。在Android开发中,Apache POI 提供了处理...在实际开发中,理解其工作原理和最佳实践对于优化性能和用户体验至关重要。
Java中有一些著名的库,如Apache POI,用于读取和写入Microsoft Office格式的文件,包括Excel。这些库允许开发者以编程方式访问Excel的工作表、单元格、样式等元素。在"Excel2html"中,开发者可能利用了POI库来解析...
在Java的POI库中,处理Excel文件时,我们经常需要读取并操作其中的数据,包括文本、数字以及图像等元素。然而,POI API在设计时并未直接提供获取单元格内图片的方法,这就需要我们采取一些间接的方式来实现。本知识...
Apache POI是一个开源项目,专为处理Microsoft Office格式的文件而设计,特别是Excel。它提供了Java API,使得开发者能够在Java应用程序中读写Excel文件。在本篇中,我们将深入探讨如何使用Apache POI库解析Excel...
Apache POI是Java社区开发的一个库,主要用于读写Microsoft Office格式的文件,如Word(.doc/.docx)、Excel(.xls/.xlsx)等。在本项目中,“使用java Apache poi 根据word模板生成word报表.rar”是一个压缩包,...
为了深入理解这个公用方法的工作原理,你需要阅读`AExcuteExcel.java`的源代码,并结合业务实体类`DnbBasicPrice.java`来查看如何将数据写入Excel报表。这将有助于你掌握使用Apache POI生成动态Excel报表的技能。
【Excel模板Java实体生成器】是一种工具,它利用Apache POI库来解析Excel文件,无论是2003版的老格式还是2007版的新格式,都能够被它识别并读取。这个工具的主要目的是帮助开发者根据Excel表格中的数据结构自动生成...
Apache POI是一个开源项目,专为处理Microsoft Office格式的文件而设计,特别是Excel。在"poi3.8 源代码 解析Excel"这个主题中,我们主要关注的是如何使用POI库来解析和操作Excel文件。POI 3.8 是一个较早的版本,但...
为了解决这个问题,Apache POI引入了SXSSFWorkbook类,这是一个专门为处理大数据量Excel而设计的类。 **SXSSFWorkbook详解** SXSSFWorkbook是在Apache POI 3.8版本及以上开始支持的,它是XSSFWorkbook的一个子类,...
- **转换原理**:首先,使用纯Java实现的Excel处理库(如Apache POI)读取Excel文件内容,并将其转换为XML格式。这一过程涉及将Excel单元格的数据结构映射到XML元素和属性。接着,将生成的XML文件在网络中传输。接收...
- **限制**:与Apache POI相比,JXL对Excel的支持相对有限,不支持新格式,且功能相对较弱。 3. **选择和比较**: - **性能**:由于Apache POI处理OpenXML格式,其内存占用可能比JXL高,但提供了更全面的功能。 ...
在IT行业中,Java是一种广泛应用的编程语言,尤其在企业级应用和服务器端...通过以上知识点,我们可以了解到“Java编写的简易excel”项目的实现原理和可能的技术栈,这为Java开发者提供了处理Excel文件的一个实用工具。