本文共 1668 字,大约阅读时间需要 5 分钟。
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(); } }}
转载地址:http://ktiti.baihongyu.com/