- 浏览: 734083 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (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 701要删除 OpenJDK (如果已安装的话)。首先,检查是安装 ... -
freemark 基本语法
2018-03-22 23:19 840reemarker的基本语法及入门基础 一、freem ... -
linux 新增硬盘分区并挂载
2016-06-02 12:45 1670运行fdisk -l 查看计算机对应的硬盘信息 Disk ... -
JasperReports打印图片
2016-05-21 22:20 2916long start = System.currentTim ... -
CAS 客户端与一般Web项目集成
2015-07-04 16:20 16153这一段时间有同事在问CAS -Client的问题这里就基本问 ... -
CAS-项目集成问题整理
2015-07-04 15:24 1379javax.net.ssl.SSLHandshakeExc ... -
CAS 与Tomcat 集成
2015-06-29 15:16 3715第一节:生成证书 第一步:生成keystore注意【cn= ... -
logback 日志配置生成当天志并分大小
2015-03-26 17:00 1612<?xml version="1.0&quo ... -
Mysql锁表问题
2015-03-26 09:57 8911)查询锁表问题 show open tables ... -
excel 导出文件中文问题
2015-03-24 23:39 1726package com.tzdr.common.utils; ... -
HttpURLConnection Post
2015-02-04 17:08 918/** * Http访问 * @param ht ... -
java获取classpath路径
2015-02-01 11:03 7789ClassLoader 提供了两个方法用于从装载的类路径中取 ... -
Con 表达式
2014-12-28 13:00 2880cron表达式详解 Cron表 ... -
Spring3 +JPA
2014-12-25 19:23 12241)META-INF/persistence.xml T ... -
Hessian调用方法
2014-09-26 12:45 6127package com.huashun.api. ... -
Freemark的使用
2014-06-09 15:27 959freemark 解释 package com.pa ... -
J2EE安装问题
2014-03-20 16:39 950安装J2EE的SDK报错:could ... -
Applet 有包配置及开发HeloWorldl
2013-06-13 08:48 11801.开发代码 package com.newt ... -
Jetty嵌入式服务器端开发
2013-06-07 08:09 10581.服务器代码 package com.newto ...
相关推荐
java导出excel POI jar包 java代码地址http://blog.csdn.net/awenluck/article/details/51488537
JAVA操作excel poi poi.jarJAVA操作excel poi poi.jarJAVA操作excel poi poi.jarJAVA操作excel poi poi.jar
java 控制Excel poi 3.1 java 控制Excel poi 3.1 java 控制Excel poi 3.1 java 控制Excel poi 3.1 java 控制Excel poi 3.1
Java 操作Excel poi读写excel,所需要的jar包 https://blog.csdn.net/u014646662/article/details/83217382
java实现excel的导入导出(poi详解),经过测试poi效率要比jxl要高很多,特别是数据量大的时候jxl根本无法用肉眼入目,本资源是个可运行项目demo,很有参考价值!
java excel poi合并单元格
poi excel poi excel poi excel poi excel poi excel poi excel poi excel poi excel
关于java EXCEL poi 合并后无法显示或无法设置边框问题 【本人亲测】 excel poi 新手! 坑了1.5天!
POI处理excel文件,主要包括Excel的读取、写入,各种数据格式处理、单元格合并、注释、下拉列表及单元格的边框、背景色、宽度调整等。
JAVA POI Excel转Html,代码和所需的jar都在压缩包,项目在线预览需求,实现后分享下
JAVA操作EXCEL教程 POI JAVA操作EXCEL教程 POI
java_poi实现excel导入导出功能,有详细的注解
java读写Excel,POI.JAR,Word内容读取
java操作Excel poi
附件是java poi 3.17的lib库及其依赖库,全部下载引用后,可以进行excel的读写操作,无需引用其他lib库。poi-3.17适用于jdk1.7。 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft ...
Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出Java POI EXCEL导入导出...
1.java使用poi生成excel插入图表曲线 2.demo包含完成jar包 3.主要用途是过滤数据自动生成曲线图
Java POI 生成Excel时显示货币格式
POI生成Excel POI读取Excel java操作Excel Servlet生成Excel web项目,包含含读取Excel与生成Excel方法