- 浏览: 189847 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
TheAngLee:
亲测有效,感谢
如何批量删除twitter的推文 and 批量取消关注 -
511093965:
你好,怎么下载的你的那个没有用啊?点击浏览没有反应,怎么回事呢 ...
使用SWFUpload和fileupload简化多文件上传(附源码) -
郑智睿:
关键是会话信息会丢失,这是个重大问题没解决
使用SWFUpload和fileupload简化多文件上传(附源码) -
郑智睿:
里面的文件不完整
使用SWFUpload和fileupload简化多文件上传(附源码) -
青青雨露:
不能运行啊
使用SWFUpload和fileupload简化多文件上传(附源码)
★、POI中很多组件并不是都能用上,根据需要选择自己需要的,我这里用到的就是SS(HSSF+XSSF)了,分别针对xls和xlsx,一般应该用HSSF就ok了,还是用office2003的人多一些
★、用的包大多数这个路径下的org.apache.poi.ss.usermodel
★、poi-examples-3.6-20091214.jar这个文件里面有例子,可以做个参照
★、如果处理的文件可能是xls也可能是xlsx的,怎么办?
方法1:处理前判断,然后分别用不同的方法去处理
方法2:使用接口操作,输出文件的时候,根据类型保存
★、参考网址:
http://poi.apache.org/
http://poi.apache.org/spreadsheet/quick-guide.html
http://developers.sun.com.cn/blog/functionalca/entry/java读写excel简介
★、写个demo,ExcelUtil.java
★、用的包大多数这个路径下的org.apache.poi.ss.usermodel
★、poi-examples-3.6-20091214.jar这个文件里面有例子,可以做个参照
★、如果处理的文件可能是xls也可能是xlsx的,怎么办?
方法1:处理前判断,然后分别用不同的方法去处理
方法2:使用接口操作,输出文件的时候,根据类型保存
//save workbook String file = "picture.xls"; if(wb instanceof XSSFWorkbook) file += "x"; FileOutputStream fileOut = new FileOutputStream(file); wb.write(fileOut); fileOut.close();
★、参考网址:
http://poi.apache.org/
http://poi.apache.org/spreadsheet/quick-guide.html
http://developers.sun.com.cn/blog/functionalca/entry/java读写excel简介
★、写个demo,ExcelUtil.java
package core.util; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; 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; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.junit.Test; import core.dao.DaoImpl; /** * Description: <br> * 2010-4-16 * * @author huxiao kskr@qq.com */ public class ExcelUtil { private static final String filepath = "F:/job/workspace_huxiao_new/_testpoi/src/test/file/workbook.xls"; /** * description: 把一个List生成为Excel<br> * * @param linkedList * @param file * 2010-4-16 * @author huxiao kskr@qq.com */ public static void list2excel(List<Map<String, String>> list, List<String> keyList, File file) { List<LinkedHashMap<String, String>> linkedList = new ArrayList<LinkedHashMap<String, String>>(); for (Map<String, String> map : list) { LinkedHashMap<String, String> tmpMap = new LinkedHashMap<String, String>(); for (String key : keyList) { tmpMap.put(key, map.get(key)); } linkedList.add(tmpMap); } if (!file.isDirectory()) { file.getParentFile().mkdirs(); } Workbook wb = new HSSFWorkbook(); Sheet sheet = wb.createSheet("Sheet1"); for (int i = 0; i < linkedList.size(); i++) { Row row = sheet.createRow(i); Map<String, String> map = linkedList.get(i); int column = 1; for (String key : map.keySet()) { Cell cell = row.createCell(column++); cell.setCellValue(map.get(key)); } } try { FileOutputStream fileOut = new FileOutputStream(file); wb.write(fileOut); fileOut.close(); } catch (Exception e) { System.out.println("生成文件出错"); e.printStackTrace(); } } /** * description: 读取一个Excel文件并返回List<br> * * @param keyList * @param file * @return 2010-4-19 * @author huxiao kskr@qq.com */ public static List<Map<String, String>> excel2List(List<String> keyList, File file) { if (!file.isFile()) { throw new RuntimeException(file + " 不存在"); } POIFSFileSystem fs = null; HSSFWorkbook wb = null; HSSFSheet sheet = null; try { fs = new POIFSFileSystem(new FileInputStream(file)); wb = new HSSFWorkbook(fs); sheet = wb.getSheetAt(0); } catch (IOException e) { System.out.println(file + "读取错误"); e.printStackTrace(); } List<Map<String, String>> resultList = new ArrayList<Map<String, String>>(); for (Row row : sheet) { Map<String, String> tmpMap = new HashMap<String, String>(); for (Cell cell : row) { int columnIndex = cell.getColumnIndex(); tmpMap.put(keyList.get(columnIndex - 1), cell.getStringCellValue()); } resultList.add(tmpMap); } return resultList; } /** * description: 测试生成Excel<br> * 2010-4-19 * * @author huxiao kskr@qq.com */ @Test public void testList2Excel() { List<Map<String, String>> list = new DaoImpl().queryForList("select * from user"); // 因为hashmap是无序的,所以在这里自定义key的顺序,根据这个keyList把hashMap转成LinkedHashMap再循环 // 当需求固定之后,可以直接写到配置文件里面,就不用手写了 List<String> keyList = new ArrayList<String>(); keyList.add("ID"); keyList.add("USERNAME"); keyList.add("PASSWORD"); list2excel(list, keyList, new File(filepath)); } /** * description: 测试excel2list<br> * * @param args * 2010-4-19 * @author huxiao kskr@qq.com */ @Test public void testExcel2List() { // 取出来的时候就不必按顺序啦,但是你要制定key是什么啊,否则怎么存储到map里面呢? // 不用担心,实际操作的时候这个东西可以从数据库或者配置文件中获取,不用每次手写的 List<String> keyList = new ArrayList<String>(); keyList.add("ID"); keyList.add("USERNAME"); keyList.add("PASSWORD"); List<Map<String, String>> list = excel2List(keyList, new File(filepath)); System.out.println(list); } }
发表评论
-
实现for each,通过iterable接口和iterator(实例)
2011-01-11 00:58 4632java1.5提供了for each的循环方式,实现i ... -
java的几个权限修饰符,private/friendly/protected/public
2010-05-29 23:26 7926下面开始测试: 一个Test类,作为被访问的类,priv ... -
算法:输出一串字符的全排列
2010-05-26 18:09 1896package test; import java. ... -
创建可执行jar
2010-05-23 20:00 1281把我们的程序打个jar包,双击运行,一般会弹出这个提示 ... -
笔试的时候一个折半查找写错了,这样写应该对了吧
2010-05-22 11:04 1356public int find(int[] abc, i ... -
写一个CookieUtil,方便使用cookies
2010-05-12 16:54 2446以前用cookies比较少,虽然知道大致上就是那么回事,但是一 ... -
循环Map的两种方法
2010-05-08 09:57 1475public static void main(String ... -
[正则]零宽断言:同事给我出了一题
2010-04-25 15:59 1532同事给我出一题,如下: public static v ... -
[转]Servlet、Filter的url-pattern问题
2010-04-17 11:00 1540servlet和filter的匹配规则 ... -
做个图片的防盗链
2010-04-13 11:31 9159目的是,网站本身的图片不防盗链,用户上传的图片不许外链 用户 ... -
Spring笔记(未完)
2010-04-09 19:12 921★、要使用的jar dist/spring.jar lib/ ... -
从html里面提取文本,只保留br和p
2010-04-09 19:00 3317从网上down了很多信息,但是带了一些不需要的table,di ... -
自定义错误页,并捕获异常到数据库
2010-04-09 18:44 1847web.xml中添加这一段,处理404等状态信息,注意是err ... -
TestBase64加解密
2010-04-09 11:22 981package test; import java. ... -
TestIO
2010-03-31 09:47 1131package com.djwl.test.studyin ... -
分页条(部分)
2010-03-31 09:41 981/** * description: 分页:根据每 ... -
ReflectTest
2010-03-31 09:40 982package com.djwl.test.studying; ... -
CalendarTest
2010-03-31 09:39 978package com.djwl.test.studying; ... -
Java正则备忘(附正则表达式查询表)
2010-03-22 16:01 1191A sample: /** * descript ... -
List2Array and Array2List
2010-03-18 10:05 1256/** * <p>功能描述:List2 ...
相关推荐
Apache poi 是Apache在java与Office相关文档进行交互操作的一个开源包 可以轻松的能过java与word或excel进行操作
Apache POI - the Java API for Microsoft Documents。其中包括了开发多种应用的许多Java API: Component Application type Maven artifactId POIFS OLE2 Filesystem poi HPSF OLE2 Property Sets poi HSSF ...
附件是java poi 3.17的lib库及其依赖库,全部下载引用后,可以进行excel的读写操作,无需引用其他lib库。poi-3.17适用于jdk1.7。 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft ...
Apache POI -3.7下载 POI3.7用于处理word.POI3.7用于处理word、excel、ppt等文档操作
Apache POI 是创建和维护操作各种符合Office Open XML(OOXML)标准和微软的OLE 2复合文档格式(OLE2)的Java API。用它可以使用Java读取和创建,修改MS Excel文件....Apache POI 提供Java操作Excel解决方案。
<groupId>org.apache.poi <artifactId>poi <version>3.17 <groupId>org.apache.poi <artifactId>poi-examples <version>3.17 <groupId>org.apache.poi <artifactId>poi-excelant <version>3.17 ...
JAVA poi-4.1.2 完整包,操作excel,word,ppt必备。Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
Apache POI For Java Excel.doc
poi 3.7 java导出excel表格 描述来自http://poi.apache.org Apache POI - 文本提取 概述 多年以来,Apache POI已经为所有项目支持的文件格式提供了基本的文本提取。另外,除了(简单)文本之外,这些文件还提供对与...
apache POI,文件读写 ,excel 对于使用apache poi 解析微软excel的一些文件
用poi解析excel时报如标题错误:java.lang.NoClassDefFoundError: org/apache/poi/ss/formula/udf/UDFFinder,根据提示找到代码,指向工具类中 book = new XSSFWorkbook(inputStream); 发现类没有定义,估计是jar包...
Apache POI是一个流行的Java库,允许程序员创建、修改和显示MS Office文件,包括Excel工作簿。这个特定的.jar文件包含了基本的功能以支持.xls格式的Excel文件操作。 poi-ooxml-schemas-3.12-20150511-a.jar: 这个库...
poi-4.1.2需要的jar包,需要使用的朋友可以直接用,从maven库整理出来的。
ava解析Excel(兼容2003及2007):解析2003及以下使用HSSFWorkbook类, 解析2007及以上使用XSSFWorkbook, 如果解析类与excel版本不对应,抛出相应的异常,例如HSSFWorkbook解析2007: org.apache.poi.poifs....
Apache POI导入和导出Excel文件
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程式对Microsoft Office格式档案读和写的功能。 结构: HSSF - 提供读写Microsoft Excel格式档案的功能。 XSSF - 提供读写Microsoft Excel ...
自己花了几天时间写的基于Apache POI的Java 读取excel文件,功能还是比较齐全
poi apache-poi导入实例 导入excel 利用java的apache-poi读取每一行每一列,导入excel数据,两个for循环出来的[ ][ ] 承装数据
java apache.poi包容易操作word文档,excel文档等。
Poi强大的操作技术方便了我们开发,Apache POI导入数据到Excel电子表格