java excel 内容 代码_java读取excel的内容 的代码示例

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.text.DecimalFormat;

import java.text.SimpleDateFormat;

import java.util.Date;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFDateUtil;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class ExcelExportTest {

public final static String lineDlim="/###/";

private static String getLine(HSSFSheet sheet, int row) {

// 根据行数取得Sheet的一行

HSSFRow rowline = sheet.getRow(row);

// 创建字符创缓冲区

StringBuffer buffer = new StringBuffer();

int filledColumns = 0;

// 获取当前行的列数

if (rowline != null)

filledColumns = rowline.getLastCellNum();

HSSFCell cell = null;

// 循环遍历所有列

for (int i = 0; i < filledColumns; i++) {

// 取得当前Cell

cell = rowline.getCell((short) i);

String cellvalue = null;

if (cell != null) {

// 判断当前Cell的Type

switch (cell.getCellType()) {

// 如果当前Cell的Type为NUMERIC

case HSSFCell.CELL_TYPE_NUMERIC: {

// 判断当前的cell是否为Date

if (HSSFDateUtil.isCellDateFormatted(cell)) {

// 如果是Date类型则,取得该Cell的Date值

Date date = cell.getDateCellValue();

// 把Date转换成本地格式的字符串

cellvalue = (new SimpleDateFormat("yyyy-MM-dd")).format(date);

//cellvalue = cell.getDateCellValue().toLocaleString();

}

// 如果是纯数字

else {

// 取得当前Cell的数值

Long num = new Long((long) cell

.getNumericCellValue());

cellvalue = String.valueOf(num);

Double dn=cell.getNumericCellValue();

if(dn==(double)num){

cellvalue = String.valueOf(num);

}else{

DecimalFormat numberForm = new DecimalFormat("0.############");

cellvalue= numberForm.format(dn);

//cellvalue=String.format("%1f", dn);

}

}

break;

}

// 如果当前Cell的Type为STRIN

case HSSFCell.CELL_TYPE_STRING:

// 取得当前的Cell字符串

cellvalue = cell.getRichStringCellValue().getString().replaceAll("'", "''").trim();

break;

// 默认的Cell值

default:

cellvalue = " ";

}

} else {

cellvalue = "";

}

// 在每个字段之间插入分割符

buffer.append(cellvalue).append("&&");

}

// 以字符串返回该行的数据

return buffer.toString();

}

public static void main(String[] args) throws IOException {

InputStream in = new FileInputStream("D:/amember.xls");

//XLSUtil xu = new XLSUtil(in);

//System.out.println(xu.getContent());

HSSFWorkbook xslBook = null;

int numOfSheets;

xslBook = new HSSFWorkbook(in);

numOfSheets = xslBook.getNumberOfSheets();

StringBuffer buffer = new StringBuffer();

HSSFSheet sheet;

for (int i = 0; i < numOfSheets; i++) {

sheet = xslBook.getSheetAt(i);

// 当前行位置清零

//sheet.getLastRowNum()

for (int j = 0; j <= 5; j++) {

buffer.append(getLine(sheet, j));

buffer.append(lineDlim);

System.out.println(buffer);

buffer.setLength(0);

}

System.out.println("sheet>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值