- 浏览: 633478 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (609)
- java (139)
- 数据库 (107)
- 微信 (23)
- IT生活 (5)
- web前端 (74)
- SSH (11)
- 设计模式 (12)
- 重要资料 (11)
- 其他 (15)
- java技巧 (23)
- 服务器 (9)
- 2D/GUI (3)
- JAVA3D (2)
- ANT (5)
- Apache项目 (19)
- 数据类型 (10)
- 报表 (3)
- Collections (6)
- SQL/JDBC (15)
- 开发类 (6)
- EJB (6)
- Email (6)
- 文件读写 (2)
- 游戏 (0)
- Flex (2)
- Generic (2)
- HIbernate (12)
- I18N (5)
- Java EE (9)
- java ME (4)
- JDK 6 (8)
- JNDI/LDAP (5)
- JSP (7)
- JSTL (2)
- 正则表达式 (2)
- 安全 (2)
- Struts2 (12)
- Spring (4)
- Web服务 (10)
- Xml (1)
- JavaScript (30)
- AJAX (7)
- 验证 (4)
- 上传下载 (1)
- office办公软件 (1)
- Android (2)
- IOS (0)
- Dubbo (3)
- memcached/redis (1)
- 小程序 (1)
- 微信公众号 (0)
最新评论
-
wf_wangfeng:
怎么我用第一种方法不行呢 alert(document.rea ...
当jsp页面完全加载完成后执行一个js函数 -
Lori_Liu:
有帮助,至少可以解决了目前所遇到的问题!谢谢..
当jsp页面完全加载完成后执行一个js函数 -
starbhhc:
String actionMessage = new Stri ...
Java读取txt文件乱码 -
starbhhc:
Sev7en_jun 写道GOOD
客气,互相交流。。
javaeye论坛规则小测验(答案)--star -
Sev7en_jun:
GOOD
javaeye论坛规则小测验(答案)--star
用apache POI 操作 Excel有几个关键的地方:
[1]读文件流 这个问题是一个IO问题 InputStreamin= new FileInputStream( /tmp/aaa.xls ); [2]如何取得Excel的操作对象 这个也就相当于,Excel的工作区,在这个里面你可以取得当前excel文件的相关信息 POIFSFileSy
用apache POI 操作 Excel有几个关键的地方:
[1]读文件流
这个问题是一个IO问题
InputStream in = new FileInputStream("/tmp/aaa.xls");
[2]如何取得Excel的操作对象
这个也就相当于,Excel的工作区,在这个里面你可以取得当前excel文件的相关信息
POIFSFileSystem poifs = new POIFSFileSystem(fis);
HSSFWorkbook wb = new HSSFWorkbook(poifs);
HSSFWorkbook 对象,是我们最想得到的对象。
以后的所有操作都是从这里开始的。
[3]如何取得sheet的数目
wb.getNumberOfSheets()
[4]如何根据index取得sheet对象
HSSFSheet sheet = wb.getSheetAt(0);
有了Sheet就相当于取得了一张表一样。
[5]如何取得有效的行数
int rowcount = sheet.getLastRowNum();
[6]如何根据index取得行对象
HSSFRow row = sheet.getRow(i);
有了行对象,就可以取得每一个单元对象
[7]如何知道一个行有多少个单元
colcount = row.getLastCellNum();
[8]如何取得一个单元对象
HSSFCell cell = row.getCell(j);
[9]如何取得单元的值
此处仅以字符串为例
if(cell!=null){
System.out.println("cell is: "+cell.getStringCellValue());
}
下面是我的测试的完整的程序。我也是从网上找的资料,然后自己又做了测试。在此又做了整理。
感谢网上提供此参考资料的朋友。
package demo.excel;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.hssf.eventusermodel.HSSFRequest;
import org.apache.poi.hssf.model.Sheet;
import org.apache.poi.hssf.model.Workbook;
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;
public class ExcelDemo {
public static void main(String[] args) {
File f = new File("/home/zhangyi/dell500.xls");
if (f.exists()) {
// read
try {
InputStream fis = new FileInputStream(f);
POIFSFileSystem poifs = new POIFSFileSystem(fis);
HSSFWorkbook wb = new HSSFWorkbook(poifs);
List retList = new ArrayList();
System.out.println("sheet number : " + wb.getNumberOfSheets());
HSSFSheet s = wb.getSheetAt(0);
System.out.println("sheet obj is : "+s);
for (int h = 0; h < wb.getNumberOfSheets(); ++h) {
List list = new ArrayList();
HSSFSheet sheet = wb.getSheetAt(h);
int rowcount = sheet.getLastRowNum();
rowcount++;
System.out.print("-----sheet[" + h + "]: row count = "
+ rowcount);
int colcount = 0;
for (int i = 0; i < rowcount; ++i) {
HSSFRow row = sheet.getRow(i); // i=0 indicate the first
// row
if (row == null)
continue; // without the row, break and continue;
if (colcount == 0) { // colunm count set to column of
// the first effective row
colcount = row.getLastCellNum();
System.out.println(", column count = " + colcount);
}
String[] fieldValue = new String[colcount];
for (short j = 0; j < colcount; ++j) { // column data in
// the current
HSSFCell cell = row.getCell(j);
// fieldValue[j] = getCellStringValue(cell);
if(cell!=null){
System.out.println("cell is: "+cell.getStringCellValue());
}
// System.out.println("cell is : " +cell.getCellComment());
}
list.add(fieldValue);
}
retList.add(list);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
[1]读文件流 这个问题是一个IO问题 InputStreamin= new FileInputStream( /tmp/aaa.xls ); [2]如何取得Excel的操作对象 这个也就相当于,Excel的工作区,在这个里面你可以取得当前excel文件的相关信息 POIFSFileSy
用apache POI 操作 Excel有几个关键的地方:
[1]读文件流
这个问题是一个IO问题
InputStream in = new FileInputStream("/tmp/aaa.xls");
[2]如何取得Excel的操作对象
这个也就相当于,Excel的工作区,在这个里面你可以取得当前excel文件的相关信息
POIFSFileSystem poifs = new POIFSFileSystem(fis);
HSSFWorkbook wb = new HSSFWorkbook(poifs);
HSSFWorkbook 对象,是我们最想得到的对象。
以后的所有操作都是从这里开始的。
[3]如何取得sheet的数目
wb.getNumberOfSheets()
[4]如何根据index取得sheet对象
HSSFSheet sheet = wb.getSheetAt(0);
有了Sheet就相当于取得了一张表一样。
[5]如何取得有效的行数
int rowcount = sheet.getLastRowNum();
[6]如何根据index取得行对象
HSSFRow row = sheet.getRow(i);
有了行对象,就可以取得每一个单元对象
[7]如何知道一个行有多少个单元
colcount = row.getLastCellNum();
[8]如何取得一个单元对象
HSSFCell cell = row.getCell(j);
[9]如何取得单元的值
此处仅以字符串为例
if(cell!=null){
System.out.println("cell is: "+cell.getStringCellValue());
}
下面是我的测试的完整的程序。我也是从网上找的资料,然后自己又做了测试。在此又做了整理。
感谢网上提供此参考资料的朋友。
package demo.excel;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.hssf.eventusermodel.HSSFRequest;
import org.apache.poi.hssf.model.Sheet;
import org.apache.poi.hssf.model.Workbook;
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;
public class ExcelDemo {
public static void main(String[] args) {
File f = new File("/home/zhangyi/dell500.xls");
if (f.exists()) {
// read
try {
InputStream fis = new FileInputStream(f);
POIFSFileSystem poifs = new POIFSFileSystem(fis);
HSSFWorkbook wb = new HSSFWorkbook(poifs);
List retList = new ArrayList();
System.out.println("sheet number : " + wb.getNumberOfSheets());
HSSFSheet s = wb.getSheetAt(0);
System.out.println("sheet obj is : "+s);
for (int h = 0; h < wb.getNumberOfSheets(); ++h) {
List list = new ArrayList();
HSSFSheet sheet = wb.getSheetAt(h);
int rowcount = sheet.getLastRowNum();
rowcount++;
System.out.print("-----sheet[" + h + "]: row count = "
+ rowcount);
int colcount = 0;
for (int i = 0; i < rowcount; ++i) {
HSSFRow row = sheet.getRow(i); // i=0 indicate the first
// row
if (row == null)
continue; // without the row, break and continue;
if (colcount == 0) { // colunm count set to column of
// the first effective row
colcount = row.getLastCellNum();
System.out.println(", column count = " + colcount);
}
String[] fieldValue = new String[colcount];
for (short j = 0; j < colcount; ++j) { // column data in
// the current
HSSFCell cell = row.getCell(j);
// fieldValue[j] = getCellStringValue(cell);
if(cell!=null){
System.out.println("cell is: "+cell.getStringCellValue());
}
// System.out.println("cell is : " +cell.getCellComment());
}
list.add(fieldValue);
}
retList.add(list);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
发表评论
-
maven项目第一行报错:org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.mave
2020-04-09 01:23 449maven项目第一行报错:org.apache.maven.a ... -
删除项目中的所有.svn文件夹(或CVS文件夹)
2019-06-06 19:19 404当你的项目用SVN管理时,在项目的每个文件夹中会多一个.svn ... -
eclipse下生成Java类图和时序图,生成UML图
2016-12-30 02:28 2002最近老板让我做类图和时序图,提苦恼的,完全不会,就从网上整理 ... -
eclipse使用ModelGoon插件自动生成java类的UML图
2016-12-30 02:23 11891、ModelGoon介绍 ModelGo ... -
linux下的tomcat jvm内存
2016-11-30 23:19 545常见的内存溢出有以下两种: Java.lang.OutOf ... -
FTP实现客户端与服务器文件传输(二)
2016-08-06 01:22 974/*以sun开头的class不是java里面的标准类,而是 ... -
java实现文件转换成二进制存储与取出
2016-08-06 01:21 2645一、功能描述: 将文件转成二进制数据放入数据库中,需要的 ... -
Resource specification not allowed here for source level below 1.7
2016-08-05 11:14 1082现象:tomcat能正常启动,但打开页面时,出现上面的错误 ... -
使用commons.net FTP 和sun.net.ftp.FtpClient 多种方式上传下载(包括批量)删除功能(一)
2016-08-04 10:38 643使用commons.net FTP 上传下载删除功能 ... -
第十一节 CAS服务端RememberMe
2016-06-07 11:03 1125关于启用RememberMe功能所需做的修改描述 ... -
第七节:CAS4.0.0 以上服务端配置多个数据源
2016-06-03 14:50 10551.首先打开deployerConfigContext.x ... -
第六节:CAS服务端自定义数据库认证用户
2016-06-03 11:46 2294/** * @see --------------- ... -
第四节:将CAS https的认证方式改为http
2016-06-01 08:49 1643一、CAS Server端的修改 1、找到cas\W ... -
java 读取html过滤标签
2016-05-27 16:19 943public static void main(Strin ... -
获取cookie
2016-05-26 16:07 769获取cookie -
spring同时集成redis和mongodb时遇到多个资源文件加载的问题
2016-05-14 15:40 732两天平台中集成redis和mongodb遇到一个问题 单独 ... -
Windows上安装OpenSSL和生成证书
2016-05-10 15:52 22801,先下载OpenSSL http://www.slpr ... -
4.ubuntu14.04 安装mongodb笔记
2016-05-06 08:52 6211、使用系统自动获取安装。 1)获取更新 s ... -
3.nodejs nodejs的mysql模块
2016-04-12 22:20 512安装nodejs的mysql模块首先要选定一个数据库,我选择 ... -
第二节:cas处理中文乱码
2016-04-07 11:38 1219cas service配置参考第一节。 casServi ...
相关推荐
Apache poi 操作 excel 文件压缩包,亲测可用
Apache POI Excel操作 需要的文档,.介绍,相关jar包,maven中的配置等,比较全面
apache POI,文件读写 ,excel 对于使用apache poi 解析微软excel的一些文件
apache poi 读取 Excel 的 jar 包 博文链接:https://wxinpeng.iteye.com/blog/231895
Apache Poi Excel导出 博文链接:https://zhiminsun.iteye.com/blog/1883347
apache poi解析Excel时报错,我将Excel打开后保存,就不会报错,我将重写的类从新打包这样问题虽然网上有解决方案,但是需要自己打包重写对应类,我已将这些步骤做好了。
使用Apache POI的3.16版实现,Excel模板填充数据导出Excel报表
Java使用apache POI读取xlsx代码以及相关jar包
自己花了几天时间写的基于Apache POI的Java 读取excel文件,功能还是比较齐全
适用于安卓的Excel读写库,简单易用
Poi强大的操作技术方便了我们开发,Apache POI导入数据到Excel电子表格
apache poi 导出excel、word,替换word内容,导出word-文本、图片、表格
NULL 博文链接:https://keep-going.iteye.com/blog/1907664
POI使用excel模板循环输出行到文件并导出的一个小例子
apache POI 导出Excel 设置打印 打印区域 打印方向 缩放比例 水平居中
Apache POI导入和导出Excel文件
Apache POI是Apache软件基金会提供的100%开源库。大多数中小规模的应用程序开发主要依赖于Apache POI(HSSF+ XSSF)。它支持Excel 库的所有基本功能; 然而,呈现和文本提取是它的主要特点。
POI 删除excel列,可以设置多列,POI里怎么没有删除列的API呢
解析excel数据入库的三个jar包,org.apache.poi.hssf.usermodel.HSSFCell; org.apache.poi.hssf.usermodel.HSSFRow; org.apache.poi.hssf.usermodel.HSSFSheet; org.apache.poi.hssf.usermodel.HSSFWorkbook;
Apache POI EXCEL(XLSX)转成JSON maven依赖