POI实战-java开发excel详解(第一章 简单excel读取)
来源:互联网 发布:淘宝开店日期可以改吗 编辑:程序博客网 时间:2024/06/03 15:50
1.3 POI简单读取Excel数据
代码部分:
package com.vintage.testpoi;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;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;/** * POI入门 :简单读取excel数据 * @author VintageYu * */public class ReadExcelTest {public static void read(InputStream inputStream) throws IOException{//初始整个ExcelHSSFWorkbook workbook = new HSSFWorkbook(inputStream);//获取第一个Sheet表HSSFSheet sheet = workbook.getSheetAt(0);//或者 HSSFSheet sheet = workbook.getSheet("Sheet1");//获取第一行HSSFRow row0 = sheet.getRow(0);//获取第一行的第一个单元格HSSFCell cell = row0.getCell(0);//打印System.out.println(cell.getRichStringCellValue().getString());}public static void main(String[] args) {InputStream inputStream = null;try {//读取文件流inputStream = new FileInputStream(new File("E:\\read1.xls"));read(inputStream);} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{try {if(inputStream != null){inputStream.close();}} catch (IOException e) {e.printStackTrace();}}}}
输入结果见图2
为了进一步贴近实际,将上面部分代码进行如下修改
//获取第一个Sheet表HSSFSheet sheet = workbook.getSheetAt(0);//或者 HSSFSheet sheet = workbook.getSheet("Sheet1");//获取第一行HSSFRow row0 = sheet.getRow(0);//获取第一行的第一个单元格HSSFCell cell = row0.getCell(0);//打印System.out.println(cell.getRichStringCellValue().getString());将这部分代码改为//循环workbook中所有sheetfor(int sheetIndex = 0; sheetIndex < workbook.getNumberOfSheets(); sheetIndex++){HSSFSheet sheet = workbook.getSheetAt(sheetIndex);System.out.println("sheet序号:"+sheetIndex+",sheet名称:"+workbook.getSheetName(sheetIndex));//循环该sheet中的有数据的每一行for(int rowIndex = 0; rowIndex <= sheet.getLastRowNum(); rowIndex++){HSSFRow row = sheet.getRow(rowIndex);if(row == null){continue;}//循环该行的每一个单元格for(int cellnum = 0; cellnum < row.getLastCellNum(); cellnum++){HSSFCell cell = row.getCell(cellnum);System.out.println("第"+rowIndex+"行 第"+cellnum+"列 内容为:"+cell.getRichStringCellValue().getString());}}System.out.println("---------------------------------------------------------");}
打印结果如图3
图3
注:
workbook.getNumberOfSheets()= 3 --- 测试用Excel(图1)有3个sheet,得到的就是sheet的个数
sheet.getLastRowNum()= 3 --- 测试用Excel(图1)中Sheet1表有4行数据,所以得到的数据是POI中行序列的3
row.getLastCellNum()= 4 --- 测试用Excel(图1)中Sheet1表有4列数据,所以得到的数据是POI中列数
ps:POI实战pdf版下载 http://download.csdn.net/source/3566377
- POI实战-java开发excel详解(第一章 简单excel读取)
- POI实战-java开发excel详解(第一章 简单写出)
- POI实战-java开发excel详解之简单excel读取
- POI实战-java开发excel详解(第一章 基本知识)
- POI实战-java开发excel详解之简单写出
- POI实战-java开发excel详解(第二章 单元格各类型数据读取)
- POI实战-java开发excel详解(第四章 常用操作-单元格合并与数据读取)
- POI实战-java开发excel详解(前言)
- POI实战-java开发excel详解(第五章 样式)
- POI实战-java开发excel详解(第六章 附录)
- POI实战-java开发excel详解(第七章 总结)
- POI实战-java开发excel详解之单元格各类型数据读取
- POI实战-java开发excel详解之常用操作-单元格合并与数据读取
- POI实战-java开发excel详解之复杂写入
- POI实战-java开发excel详解之常用操作-注释
- POI实战-java开发excel详解之样式
- POI实战-java开发excel详解之附录
- Java-POI读取Excel简单案例
- c++调用c#托管dll文件方法
- 堆(heap)和栈(stack)有什么区别??
- IO流-字符流,设计模式--装饰模式
- VNC远程桌面到linux,提示connection refused(10061)解决办法
- fedora配置ftp
- POI实战-java开发excel详解(第一章 简单excel读取)
- Oracle 使用BBED 查看 ASM Disk Header 内容
- top命令使用 内存
- JAVA的动态代理 VS CGLIB
- final 来修饰方法参数的原因
- Java程序排序之希尔排序
- PL/SQL Developer使用技巧
- silverlight 学习笔记 (一):silverlight 能做什么
- 握奇数据java Web开发笔试题回顾