作者:乔山办公网日期:
返回目录:excel表格制作
2007版本的需要使用XSSFWorkbook来处理,如果不确定抄读取的excel版本的话可以写的if判断下如果后缀为".xls"创建HSSFWorkbook 否则创建 XSSFWorkbook来对文件进行操作即可.
Workbook excelWB = null;
Sheet oneSheet = null;
Row oneRow = null;
Cell oneCell = null;
.....
if("xls".equals(excFilSuff)){
excelWB = new HSSFWorkbook(excelFile);
}else{
excelWB = new XSSFWorkbook(excelFile);
}
//获取第0个sheet对象zd
oneSheet = excelWB.getSheetAt(0);
//获取每行对象
oneRow = oneSheet.getRow(rowNum);
// 获取第几列对象
oneCell = oneRow.getCell(cellNum);
你不要自己重新建一个workbook,直接用io读取到的源文件,创建的对象进行修改应该就没问题了吧
第二段:POI中Excel文件Cell的类型
在读取每一个Cell的值的时候,通过getCellType方法获得当前Cell的类型,在Excel中Cell有6种类型,如下面所示。
Cell的类型
CellType
说明
CELL_TYPE_BLANK
空值
CELL_TYPE_BOOLEAN
布尔型
CELL_TYPE_ERROR
错误
CELL_TYPE_FORMULA
公式型
CELL_TYPE_STRING
字符串型
CELL_TYPE_NUMERIC
数值型
一般都采用CELL_TYPE_STRING和CELL_TYPE_NUMERIC类型,因为在Excel文件中只有字符串和数字。如果Cell的Type为CELL_TYPE_NUMERIC时,还需要进一步判断该Cell的数据格式,因为它有可能是Date类型,在Excel中的Date类型也是以Double类型的数字存储的。Excel中的Date表示当前时间与1900年1月1日相隔的天数,所以需要调用HSSFDateUtil的isCellDateFormatted方法,判断该Cell的数据格式是否是Excel Date类型。如果是,则调用getDateCellValue方法,返回一7a686964616fe4b893e5b19e338个Java类型的Date。
五种情况:
1、举个例子看呢,一般输百入公式就得出结果,引用公示度结果的话,刷新下数据看看;
2、看看数据是不是设成了文本格式,如是请设置为常规或数值知格式然后双击该单元格后回车道;
3、如果还不行的话那是电脑反应太慢,可以按F9就可以重新计算了;回
4、先输入=,再输入公式,最后按回车执行;
5、工具\选项\重新计算\选自动答计算,是否为自动重算;