本文参考: 
http://wenku.baidu.com/view/707f07d95022aaea998f0fd1.html

http://surfingforrest.iteye.com/blog/1709555

http://feitian0127.iteye.com/blog/1152524

感谢两位。

使用的包:

 
代码如下:

import java.util.ArrayList;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
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.apache.poi.xssf.usermodel.XSSFWorkbook; public class ReadExcel {
public ArrayList<ArrayList<String>> readExcel(String fileName,String path) {
ArrayList<ArrayList<String>> Row =new ArrayList<ArrayList<String>>(); try {
Workbook workBook = null;
try {
workBook = new XSSFWorkbook(path+"\\"+fileName);
} catch (Exception ex) {
workBook = new HSSFWorkbook(new FileInputStream(path+"\\"+fileName));
} for (int numSheet = 0; numSheet < workBook.getNumberOfSheets(); numSheet++) {
Sheet sheet = workBook.getSheetAt(numSheet);
if (sheet == null) {
continue;
}
// 循环行Row
for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) {
Row row = sheet.getRow(rowNum);
if (row == null) {
continue;
} // 循环列Cell
ArrayList<String> arrCell =new ArrayList<String>();
for (int cellNum = 0; cellNum <= row.getLastCellNum(); cellNum++) {
Cell cell = row.getCell(cellNum);
if (cell == null) {
continue;
}
arrCell.add(getValue(cell));
}
Row.add(arrCell);
}
}
} catch (IOException e) {
System.out.println("e:"+e);
} return Row;
} private String getValue(Cell cell) {
if (cell.getCellType() == cell.CELL_TYPE_BOOLEAN) {
return String.valueOf(cell.getBooleanCellValue());
} else if (cell.getCellType() == cell.CELL_TYPE_NUMERIC) {
return String.valueOf(cell.getNumericCellValue());
} else {
return String.valueOf(cell.getStringCellValue());
}
} public static void main(String[] args) {
ReadExcel s= new ReadExcel();
//ArrayList<ArrayList<String>> row=s.readExcel("TEST.xlsx","D:\\Program Files\\Java");
ArrayList<ArrayList<String>> row=s.readExcel("TEST1.xls","D:\\Program Files\\Java");
System.out.println("size:"+row.size());
for (ArrayList<String> cell : row) {
for (String str : cell) {
System.out.println(str);
}
}
}
}

最新文章

  1. 使用ANTS Performance Profiler&amp;ANTS Memory Profiler工具分析IIS进程内存和CPU占用过高问题
  2. wpf 后台比例设置高度
  3. hdu 2546 饭卡 01背包
  4. HTML &lt;dl&gt; 标签
  5. C# 调用 C++ DLL方法
  6. Python常用排序算法
  7. java基础知识1--String常用方法总结
  8. Oracle表空间的管理方式
  9. 使用Gradle发布SNAPSHOT版本到JCenter(oss.jfrog.org)
  10. mybatis代码生成器——MyBatis Generator
  11. Vue Element使用icon图标(第三方)
  12. LeetCode: Gray Code [089]
  13. IL反编译的实用工具Ildasm.exe
  14. jquery更改表格行顺序实例
  15. Linux-进程间的通信-信号集函数【转】
  16. JVM gc介绍
  17. 解决 Windows 环境 Git Bash 无法识别 Composer 命令的问题
  18. thinkphp 第一个设计总结
  19. “全栈2019”Java第九十四章:局部内部类详解
  20. python 这个stdin怎么写

热门文章

  1. PS 基础知识 渐变编辑器如何使用
  2. openCV—Python(1)——初始化环境
  3. 【Sprint3冲刺之前】项目完成时间表
  4. C++ &amp;quot;#&amp;quot;的作用和使用方法
  5. Android对apk源代码的改动--反编译+源代码改动+又一次打包+签名【附HelloWorld的改动实例】
  6. sublime常用的插件
  7. 无线(仅WIFI)攻击思路总结
  8. 话说Session
  9. MongoDB 操作手冊CRUD 事务 两步提交
  10. Xcode 6 IDE