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