您的位置:首页 > 编程语言 > Java开发

java利用poi读取excel

2008-11-25 14:32 537 查看
java读取excel:

package com.shobos.excel;

import java.io.FileInputStream;
import java.io.IOException;

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;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

/**
* java读取Excel文件
*
* @author shobos
*
*/
public class JavaOperateExcel {

/**
* 利用poi读取Excel文件
*
* @param filePath
* excel文件路径
* @throws IOException
*/
public static void readExcel(String filePath) throws IOException {

FileInputStream fis = new FileInputStream(filePath); // 根据excel文件路径创建文件流
POIFSFileSystem fs = new POIFSFileSystem(fis); // 利用poi读取excel文件流
HSSFWorkbook wb = new HSSFWorkbook(fs); // 读取excel工作簿
HSSFSheet sheet = wb.getSheetAt(0); // 读取excel的sheet,0表示读取第一个、1表示第二个.....

// 获取sheet中总共有多少行数据sheet.getPhysicalNumberOfRows()
for (int i = 0; i < sheet.getPhysicalNumberOfRows(); i++) {
HSSFRow row = sheet.getRow(i + 1); // 取出sheet中的某一行数据
if (row != null) {
// 获取该行中总共有多少列数据row.getLastCellNum()
for (int j = 0; j < row.getLastCellNum(); j++) {
HSSFCell cell = row.getCell((short) j); // 获取该行中的一个单元格对象
// 判断单元格数据类型,这个地方值得注意:当取某一行中的数据的时候,需要判断数据类型,否则会报错
// java.lang.NumberFormatException: You cannot get a string
// value from a numeric cell等等错误
if (cell.getCellType() == 0) {
System.out.print(i + "/t" + j + "/t"
+ Math.round(cell.getNumericCellValue())); //一般的数据类型在excel中读出来都为float型
} else {
System.out.println("/t" + cell.getStringCellValue());
}
}
}
}
}

public static void main(String[] args) {
try {
JavaOperateExcel.readExcel("E://beitai//上海区代码.xls");
} catch (IOException e) {
e.printStackTrace();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: