Java 对Excel的数据读取

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

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
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;


public class TestPoiExcel {
static Log log = LogFactory.getLog(TestPoiExcel.class);

public static String fileToBeRead="e://test.xls";
public static void main(String argv[]) {
try {
// 创建对Excel工作簿文件的引用
HSSFWorkbook workbook= new HSSFWorkbook(new FileInputStream(fileToBeRead));
// 创建对工作表的引用。
//   本例是按名引用(让我们假定那张表有着缺省名"Sheet1")
// 也可用getSheetAt(int index)按索引引用,
//   在Excel文档中,第一张工作表的缺省索引是0,
//   其语句为:HSSFSheet sheet = workbook.getSheetAt(0);
HSSFSheet sheet= workbook.getSheet("Sheet1");
int rows = sheet.getPhysicalNumberOfRows();
for (int r = 0; r < rows; r++) {
//   读取左上端单元
HSSFRow row = sheet.getRow(r);
if (row != null) {
int cells = row.getPhysicalNumberOfCells();
String value = "";
// log.info(cells);
for (short c = 0; c < cells; c++) {
HSSFCell cell = row.getCell(c);
if (cell != null){
switch (cell.getCellType()) {

case HSSFCell.CELL_TYPE_FORMULA :
//
break;

case HSSFCell.CELL_TYPE_NUMERIC:
value += (long)cell.getNumericCellValue()+",";
break;

case HSSFCell.CELL_TYPE_STRING:
value += cell.getStringCellValue()+",";
break;

default:
value +="0,";
}
}
}
//下面可以将查找到的行内容用SQL语句INSERT到oracle
log.info(value);
}
}
}catch(Exception e){
System.out.println(e);
}
}


void test() throws FileNotFoundException, IOException{

// 创建对Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
//   // 创建对工作表的引用。
//   // 本例是按名引用(让我们假定那张表有着缺省名"Sheet1")
HSSFSheet sheet = workbook.getSheet("Sheet1");
//   // 也可用getSheetAt(int index)按索引引用,
//   // 在Excel文档中,第一张工作表的缺省索引是0,
//   // 其语句为:HSSFSheet sheet = workbook.getSheetAt(0);
//   // 读取左上端单元
HSSFRow row = sheet.getRow(0);
HSSFCell cell = row.getCell((short)0);
// 输出单元内容,cell.getStringCellValue()就是取所在单元的值
System.out.println("左上端单元是: " + cell.getStringCellValue());
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值