作者:乔山办公网日期:
返回目录:excel表格制作
思路很简单:
1、在程序里取得公式
2、在公式执行之前校验格式,把多余的都好去掉(简单的replace)
3、然后再进行计算
The supplied data appears to be a raw XML file. Formats such as Office 2003 XML are not supported
换对象来处e79fa5e98193e59b9ee7ad94330理
~~~~~~~~~~~~~~~~~~~~~~~~~~
/**
* 仅支持2003
*
* @param file
* @throws IOException
*/
private static void readExcel2003(File file) throws IOException {
InputStream is = new FileInputStream(file);
Workbook rwb = new HSSFWorkbook(is);
Sheet sheet = rwb.getSheetAt(0);
Row row = sheet.getRow(3);
Cell cell = row.getCell(0);
System.out.println(cell.getStringCellValue());
}
/**
* 仅支持2007
*
* @param file
* @throws IOException
*/
private static void readExcel2007(File file) throws IOException {
InputStream is = new FileInputStream(file);
Workbook rwb = new XSSFWorkbook(is);
Sheet sheet = rwb.getSheetAt(0);
Row row = sheet.getRow(3);
Cell cell = row.getCell(0);
System.out.println(cell.getStringCellValue());
}
/**
* 支持2003/2007
*
* @param file
* @throws Exception
*/
private static void readExcel(File file) throws Exception {
InputStream is = new FileInputStream(file);
Workbook rwb = WorkbookFactory.create(is);
Sheet sheet = rwb.getSheetAt(0);
Row row = sheet.getRow(3);
Cell cell = row.getCell(0);
System.out.println(cell.getStringCellValue());
}
网上看到许多关于利用POI输出Excel单元格内容的文章,但都是利用Cell.getCellType来获取Excel单元格的数据类型,我也利用这个方法 确实可以判断数据类型,Cell.CELL_TYPE_NUMERIC,Cell.CELL_TYPE_FORMULA,Cell.CELL_TYPE_BOOLEAN,Cell.CELL_TYPE_STING等类型,在MyEclipse里这些内容确被一条删除线画着,这是不提倡使用的方法和属性,心里看e68a84e799bee5baa6366着特不爽,既然是被Apache放弃的用法,一定会有新的方法所代替,网上找了好多时间,都没有谈关于替代getCellType方法的方法,在看POI的API文档时发现了一个方法,仅挨着getCellType,就有一个getCellTypeEnum方法,这个方法应时替代getCellType方法的方法,它获取个CellType的枚举,这个枚举里就定义了EXcel中的数据类型STRING,NUMERIC,FORMULA,BOOLEAN等类型的常量,代码试验以后确实删除线不见了,文档里指出POI3.15后就放弃getCellType进而使用getCellTypeEnum了,这篇小小的提示希望给与我同感的小伙伴有所帮助。
你是说,你有一个上传功能。
上传完一个excel文件以后,想读取出它的内容,把某些内容显示,还是怎么的。
现在上传完文件以后,却报文件找不到的错误,
是这样吗?