欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

POI 读取EXCEL实现程序

程序员文章站 2022-05-23 11:20:05
...
代码如下 复制代码

/*
* 使用POI读取EXCEL文件
*/
import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;

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;

/**
*
* @author Hanbin
*/
public class ReadExcel {

/**
* @param args the command line arguments
*/
public static void main(String[] args)throws Exception {
read("d:demo.xls");
}

public static ArrayList read(String fileName){
ArrayList list = new ArrayList();
String sql = "";
try{
File f = new File(fileName);
FileInputStream fis = new FileInputStream(f);
HSSFWorkbook wbs = new HSSFWorkbook(fis);
HSSFSheet childSheet = wbs.getSheetAt(0);
System.out.println("行数:" + childSheet.getLastRowNum());
for(int i = 4;i HSSFRow row = childSheet.getRow(i);
System.out.println("列数:" + row.getPhysicalNumberOfCells());
if(null != row){
for(int k=1;k HSSFCell cell;
cell = row.getCell((short)k);
// System.out.print(getStringCellValue(cell) + "t");
list.add(getStringCellValue(cell) + "t");
}
}
}
}catch(Exception e){
e.printStackTrace();
}
return list;
}
/**
* 获取单元格数据内容为字符串类型的数据
*
* @param cell Excel单元格
* @return String 单元格数据内容
*/
private static String getStringCellValue(HSSFCell cell) {
String strCell = "";
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_STRING:
strCell = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_NUMERIC:
strCell = String.valueOf(cell.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
strCell = String.valueOf(cell.getBooleanCellValue());
break;
case HSSFCell.CELL_TYPE_BLANK:
strCell = "";
break;
default:
strCell = "";
break;
}
if (strCell.equals("") || strCell == null) {
return "";
}
if (cell == null) {
return "";
}
return strCell;
}
}