java sheet类_java之操作excel类

java之操作excel类

package com.lilysilk.util;

import java.io.FileInputStream;

import org.apache.poi.xssf.usermodel.XSSFCell;

import org.apache.poi.xssf.usermodel.XSSFSheet;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

/**

* @author dsp

*@Comments : 导入导出Excel工具类

*此类事实现操作指定的excel文件中的指定sheet页、

*读取指定的单元格内容、获取sheet中最后一行的行号的功能

*

*

**/

public class ExcelUtil {

private static XSSFSheet ExcelWSheet;

/**

* excel文件对象

*/

private static XSSFWorkbook ExcelWBook;

/**

* 单元格对象

*/

private static XSSFCell ExcelCell;

/**

* 舍得需要操作的excel的文件路径和sheet名称

* 在读,写excel文件时,均需先调用此方法,设定要操作的excel的路径和sheet名称

* @param Path

* @param SheetName

*/

public static void setExcelFile(String Path,String SheetName) {

FileInputStream ExcelFile;

try {

/**

* 实例化excel文件的FileInputStream对象

*/

ExcelFile=new FileInputStream(Path);

/**

* 实例化EXCEL文件的execlWXSSFWorkbook对象

*/

ExcelWBook =new XSSFWorkbook(ExcelFile);

/**

* 实例化 XSSFCell 对象,指定excel文件中的sheet名称,后续用于sheet中行、列和单元格的操作

*/

ExcelWSheet=ExcelWBook.getSheet(SheetName);

} catch (Exception e) {

/**

* TODO Auto-generated catch block

*/

e.printStackTrace();

}

}

/**

* 读取excel文件中指定的单元格的函数,此函数只支持扩展名为.xlsx的excel文件

* @param rowNum

* @param colNum

* @return

* @throws Exception

*/

public static String getCellData(int rowNum,int colNum)throws Exception {

try {

/**

* 通过函数参数知道单元格的行号与列号,获取指定的单元格对象

*/

ExcelCell=ExcelWSheet.getRow(rowNum).getCell(colNum);

/**

* 如果单元格的内容为字符串类型,则使用getStringCellValue方法来获取单元格内容

* 如果单元格的内容为数字类型, 则使用getNumericCellValue方法来获取单元格内容

*/

String CellData =ExcelCell.getCellType()==XSSFCell.CELL_TYPE_STRING?ExcelCell.getStringCellValue()+"":String.valueOf(Math.round(ExcelCell.getNumericCellValue()));

return CellData;

}

catch(Exception e){

e.printStackTrace();

/**

* 读取遇到异常,则返回空字符串

*/

return "错了";

}

}

/**

* 获取excel文件的最后一行的行号

* @return

*/

public static int getLastRowNum() {

/**

* 函数返回sheet的最后一行行号

*/

return ExcelWSheet.getLastRowNum();

}

}

©著作权归作者所有:来自51CTO博客作者水滴的历程的原创作品,如需转载,请注明出处,否则将追究法律责任

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值