文档章节

使用poi组件读取excle文件

jxlgzwh
 jxlgzwh
发布于 2015/08/15 22:39
字数 338
阅读 140
收藏 9


关键代码如下:

public void importPostGroupQuality() throws Exception {
    	
    	//InputStream fis=new FileInputStream("E:\\员工年度考核.xls"); 
		InputStream fis=this.path(); 
        //解析出来的Excel的数据存放的List集合  
       //解析出来的Excel中的每一条数据封装的实体
        try { 
            //创建Excel工作薄  
            HSSFWorkbook hwb = new HSSFWorkbook(fis);          
            //得到第一个工作表  
            HSSFSheet sheet = hwb.getSheetAt(0);  
            HSSFRow row = null;   
//            System.out.println("一共:"+hwb.getNu);
            //遍历该表格中所有的工作表,i表示工作表的数量 getNumberOfSheets表示工作表的总数   
            for(int i = 0; i < hwb.getNumberOfSheets(); i++) {            	
                sheet = hwb.getSheetAt(i);
                System.out.println("一共多少行:"+sheet.getPhysicalNumberOfRows());
                //遍历该行所有的行,j表示行数 getPhysicalNumberOfRows行的总数  
                for(int j = 1; j < sheet.getPhysicalNumberOfRows(); j++) {  
                    row = sheet.getRow(j);
                    System.out.println("一共有列:"+row.getPhysicalNumberOfCells());
                    int total=row.getPhysicalNumberOfCells();
                    for(int a=0;a<total;a++){
                    	if(getCellValue(row.getCell(a))!=""){
                    		System.out.print(getCellValue(row.getCell(a))+":");
                    		
                    	}
                    	      
                    }
                }
            }     
        } catch (Exception e) {  
          	fis.close();
            e.printStackTrace();  
        }  
    }  

  //判断从Excel文件中解析出来数据的格式  
    public  String getCellValue(HSSFCell cell){  
        String value = null;  
        //简单的查检列类型  
        switch(cell.getCellType())   
        {  
            case HSSFCell.CELL_TYPE_STRING://字符串  
                value = cell.getRichStringCellValue().getString();  
                break;  
            case HSSFCell.CELL_TYPE_NUMERIC://数字  
                long dd = (long)cell.getNumericCellValue();  
                value = dd+"";  
                break;  
            case HSSFCell.CELL_TYPE_BLANK:  
                value = "";  
                break;     
            case HSSFCell.CELL_TYPE_FORMULA:  
                value = String.valueOf(cell.getCellFormula());  
                break;  
            case HSSFCell.CELL_TYPE_BOOLEAN://boolean型值  
                value = String.valueOf(cell.getBooleanCellValue());  
                break;
            case HSSFCell.CELL_TYPE_ERROR:  
                value = String.valueOf(cell.getErrorCellValue());  
                break;  
            default:  
                break;  
        }  
        return value;  
    }



其中 InputStream fis=this.path();  获取文件流,请根据实际情况进行修改,获取本地文件的输入流 代码是:InputStream fis=new FileInputStream(“E:\\员工年度考核.xls”);

© 著作权归作者所有

共有 人打赏支持
上一篇: http请求
jxlgzwh
粉丝 53
博文 236
码字总数 97751
作品 1
深圳
程序员
私信 提问
加载中

评论(1)

panwang
panwang
导入前先检查数据,将数据不满足条件的原因,以及数据返回到页面使用表格怎么做,到这都会呀
使用 Apache POI 处理 Microsoft Office 文档

原文同步至:http://www.waylau.com/apache-poi-handle-microsoft-documents/ POI 概述 Apache POI 项目的使命是创造和维护 Java API 操纵各种格式的文件,其中包括基于 Office Open XML 标准...

waylau
2015/02/01
0
0
求java解析excel大文件的解决方案

一个excel有5/6个sheel,sheet多的大概有3万条数据以上,整个文件15M左右。 文件可能是.xls或xlsx文件。 需求:解析每个sheet进行入库,最好能精确获取到某一行某一列的值,这样可以配置每一...

风中海岸
2017/08/05
474
4
使用poi组件读取excle文件

关键代码如下: public void importPostGroupQuality() throws Exception { InputStream fis=this.path(); // System.out.println("一共:"+hwb.getNu); //判断从Excel文件中解析出来数据的格......

jxlgzwh
2015/01/15
82
0
java或者JS如何获取选中文件的绝对路径??!!!

我的目的是想做个excle数据导入到oracle的小工具,所以呢我要获取选择excel的路径,然后使用POI来根据路径进行解析。 我现在的需求是我想在一个web页面上提供一个选择按钮,叫客户来选择本地...

蜡笔小新_
2014/04/10
315
2
使用 Apache POI 和 OpenOffice API 在 Linux 中统计 Office 文档的页数

简介: 在实际的项目开发中经常会遇到需要在不同的操作系统平台上统计 Microsoft Office 系列文档页数的要求。Apache POI 提供了一套完整的用于访问微软格式文档的 Java API。但是 Apache P...

IBMdW
2012/10/26
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Batch @EnableBatchIntegration 注解

设置一个远程分块任务需要定义一系列的 beans: 一个连接工程来从消息中间件中获得连接,消息中间件包括有(JMS,AMQP 和其他) 一个 MessagingTemplate 来从主向从发送消息,然后再次发送回...

honeymose
38分钟前
1
0
【剑指offer纪念版】--9 斐波那契数列

题目:斐波那契数列 题目:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。斐波那契数列的定义如下:  求解 通过求解第10项的调用过程图来分析: package aigorithm;public cla...

细节探索者
42分钟前
1
0
浏览器缓存

HTTP缓存类型 200 from cache:直接从本地缓存获取响应,可细分为from disk cache, from memory cache 304 Not Modified:协商缓存,本地未命中发送校验数据到服务端,如果服务端数据没有改变,则读...

关元
今天
3
0
正则表达式简单使用说明

在Python3里确实简单明了,测试样例如下 # 正则content = 'Hello 1234567 World_This is a Regex Demo'# 贪婪匹配 尽可能多的匹配result = re.match('^He.*(\d+).*Demo$', co......

轻轻的往前走
今天
3
0
多线程创建方式

一、基本概念 进程:就是正在运行的应用程序,进程是线程的集合。 线程:就是进程中的一条执行路径,一个独立的执行单元。 多线程:就是为了提高程序的效率,使用多线程,每个线程互不影响,...

秋至丶枫以落
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部