标签:eof close ext print names tin 获取 字符串 lse
1、第一个demo:创建工作簿,创建sheet页,创建单元格
导包:poi-3.9-20121203.jar
public static void main(String[] args) throws Exception { Workbook wb = new HSSFWorkbook(); // 定义一个新的工作簿 Sheet sheet = wb.createSheet("第一个Sheet页"); // 创建第一个Sheet页 Row row = sheet.createRow(0); // 创建一个行 Cell cell = row.createCell(0); // 创建一个单元格 第1列 cell.setCellValue(1); // 给单元格设置值 row.createCell(1).setCellValue(1.2); // 创建一个单元格 第2列 值是1.2 row.createCell(2).setCellValue("这是一个字符串类型"); // 创建一个单元格 第3列 值为一个字符串 row.createCell(3).setCellValue(false); // 创建一个单元格 第4列 值为布尔类型 FileOutputStream fileOut = new FileOutputStream("d:\\Poi生成的excel.xls"); wb.write(fileOut); fileOut.close(); }
2、创建一个时间格式的单元格
public static void main(String[] args) throws Exception { Workbook wb = new HSSFWorkbook(); // 定义一个新的工作簿 Sheet sheet = wb.createSheet("第一个Sheet页"); // 创建第一个Sheet页 Row row = sheet.createRow(0); // 创建一个行 Cell cell = row.createCell(0); // 创建一个单元格 第1列 cell.setCellValue(new Date()); // 给单元格设置值 // 单元格样式类 CellStyle cellStyle = wb.createCellStyle(); CreationHelper createHelper = wb.getCreationHelper(); cellStyle.setDataFormat(createHelper.createDataFormat().getFormat("yyy-mm-dd hh:mm:ss")); cell = row.createCell(1); // 第二列 cell.setCellValue(new Date()); cell.setCellStyle(cellStyle); cell = row.createCell(2); // 第三列 cell.setCellValue(Calendar.getInstance()); cell.setCellStyle(cellStyle); FileOutputStream fileOut = new FileOutputStream("d:\\工作簿.xls"); wb.write(fileOut); fileOut.close(); }
3、遍历工作簿的行和列并获取单元格内容
public static void main(String[] args) throws Exception { InputStream is = new FileInputStream("d:\\工作簿1.xls"); POIFSFileSystem fs = new POIFSFileSystem(is); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet hssfSheet = wb.getSheetAt(0); // 获取第一个Sheet页 if (hssfSheet == null) return; // 遍历行Row for (int rowNum = 0; rowNum <= hssfSheet.getLastRowNum(); rowNum++) { HSSFRow hssfRow = hssfSheet.getRow(rowNum); if (hssfRow == null) { continue; } // 遍历列Cell for (int cellNum = 0; cellNum <= hssfRow.getLastCellNum(); cellNum++) { HSSFCell hssfCell = hssfRow.getCell(cellNum); if (hssfCell == null) { continue; } System.out.print(" " + getValue(hssfCell)); } System.out.println(); } } private static String getValue(HSSFCell hssfCell) { if (hssfCell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN) { return String.valueOf(hssfCell.getBooleanCellValue()); } else if (hssfCell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) { return String.valueOf(hssfCell.getNumericCellValue()); } else { return String.valueOf(hssfCell.getStringCellValue()); } }
4、文本提取
public static void main(String[] args) throws Exception { InputStream is = new FileInputStream("d:\\工作簿1.xls"); POIFSFileSystem fs = new POIFSFileSystem(is); HSSFWorkbook wb = new HSSFWorkbook(fs); ExcelExtractor excelExtractor = new ExcelExtractor(wb); // false:不打印Sheet页的名字 excelExtractor.setIncludeSheetNames(true); System.out.println(excelExtractor.getText()); }
5、
标签:eof close ext print names tin 获取 字符串 lse
原文地址:https://www.cnblogs.com/xy-ouyang/p/11296857.html