Java POI读取Excel 2003/2007/2010例子
2017-05-24 10:18
776 查看
Java读写Excel的包是Apache POI(项目地址:http://poi.apache.org/),因此需要先获取POI的jar包,本实验使用的是POI
3.9稳定版。
Apache POI 代码例子地址:http://poi.apache.org/spreadsheet/quick-guide.html
本例子可以读取Microsoft Office Excel 2003/2007/2010,具体代码及注释如下:
读取“.xls”格式使用 import org.apache.poi.hssf.usermodel.*;包的内容,例如:HSSFWorkbook
读取“.xlsx”格式使用 import org.apache.poi.xssf.usermodel.*; 包的内容,例如:XSSFWorkbook
读取两种格式使用 import org.apache.poi.ss.usermodel.* 包的内容,例如:Workbook
引入包如下:
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.ss.usermodel.DateUtil;
3.9稳定版。
Apache POI 代码例子地址:http://poi.apache.org/spreadsheet/quick-guide.html
本例子可以读取Microsoft Office Excel 2003/2007/2010,具体代码及注释如下:
读取“.xls”格式使用 import org.apache.poi.hssf.usermodel.*;包的内容,例如:HSSFWorkbook
读取“.xlsx”格式使用 import org.apache.poi.xssf.usermodel.*; 包的内容,例如:XSSFWorkbook
读取两种格式使用 import org.apache.poi.ss.usermodel.* 包的内容,例如:Workbook
引入包如下:
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.ss.usermodel.DateUtil;
/** * 读取Excel测试,兼容 Excel 2003/2007/2010 */ public String readExcel() { SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); try { //同时支持Excel 2003、2007 File excelFile = new File("/home/zht/test.xls"); //创建文件对象 FileInputStream is = new FileInputStream(excelFile); //文件流 Workbook workbook = WorkbookFactory.create(is); //这种方式 Excel 2003/2007/2010 都是可以处理的 int sheetCount = workbook.getNumberOfSheets(); //Sheet的数量 //遍历每个Sheet for (int s = 0; s < sheetCount; s++) { Sheet sheet = workbook.getSheetAt(s); int rowCount = sheet.getPhysicalNumberOfRows(); //获取总行数 //遍历每一行 for (int r = 0; r < rowCount; r++) { Row row = sheet.getRow(r); int cellCount = row.getPhysicalNumberOfCells(); //获取总列数 //遍历每一列 for (int c = 0; c < cellCount; c++) { Cell cell = row.getCell(c); int cellType = cell.getCellType(); String cellValue = null; switch(cellType) { case Cell.CELL_TYPE_STRING: //文本 cellValue = cell.getStringCellValue(); break; case Cell.CELL_TYPE_NUMERIC: //数字、日期 if(DateUtil.isCellDateFormatted(cell)) { cellValue = fmt.format(cell.getDateCellValue()); //日期型 } else { cellValue = String.valueOf(cell.getNumericCellValue()); //数字 } break; case Cell.CELL_TYPE_BOOLEAN: //布尔型 cellValue = String.valueOf(cell.getBooleanCellValue()); break; case Cell.CELL_TYPE_BLANK: //空白 cellValue = cell.getStringCellValue(); break; case Cell.CELL_TYPE_ERROR: //错误 cellValue = "错误"; break; case Cell.CELL_TYPE_FORMULA: //公式 cellValue = "错误"; break; default: cellValue = "错误"; } System.out.print(cellValue + " "); } System.out.println(); } } } catch (Exception e) { e.printStackTrace(); } return Action.SUCCESS; }
相关文章推荐
- Java POI读取Excel 2003/2007/2010例子
- Java POI读取Excel 2003/2007/2010例子
- Java POI读取Excel 2003/2007/2010例子
- java的poi技术读取Excel[2003-2007,2010]
- Java的poi技术读取Excel[2003-2007,2010]
- java的poi技术读取Excel[2003-2007,2010]
- Java的poi技术读取Excel[2003-2007,2010]
- java的poi技术读取Excel[2003-2007,2010]
- java的poi技术读取Excel[2003-2007,2010]
- java的poi技术读取Excel[2003-2007,2010]
- java的poi技术读取Excel[2003-2007,2010]
- Java Struts2读取Excel 2003/2007/2010例子
- java中用poi处理Excel表格之读取(2003和2007通用方法)
- Java POI 读取Office excel (2003,2007)及相关jar包
- Java中通过POI读取Excel 2003 - 2007的xls,xlsx格式
- JAVA用POI读取和创建2003和2007版本Excel完美示例
- Java POI 读取Office excel (2003,2007)及相关jar包
- JAVA用POI读取和创建2003和2007版本Excel完美示例
- JAVA用POI读取和创建2003和2007版本Excel
- JAVA用POI读取和创建2003和2007版本Excel完美示例