• POI操作Excel(二)


    注意:HSSFWorkBook对应2003版Excel      XSSFWorkBook对应2007以上的Excel

    一.创建时间单元格

               

    public void helloPoi3() 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()); // 给单元格设置值
    		// 第一种
    		CreationHelper createHelper = wb.getCreationHelper();
    		CellStyle cellStyle = wb.createCellStyle(); // 单元格样式类
    		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("F:\工作簿.xls");
    		wb.write(fileOut);
    		fileOut.close();
    	}
    

      二.处理不同格式数据

                       

    	@Test
    	public void helloPoi4() 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()); // 给单元格设置值
    
    		row.createCell(1).setCellValue(1);
    		row.createCell(2).setCellValue("一个字符串");
    		row.createCell(3).setCellValue(true);
    		row.createCell(4).setCellValue(HSSFCell.CELL_TYPE_NUMERIC);
    		row.createCell(5).setCellValue(false);
    
    		FileOutputStream fileOut = new FileOutputStream("F:\工作簿1.xls");
    		wb.write(fileOut);
    		fileOut.close();
    	}
    

    三.遍历excel  的sheet

                     

    	@Test
    	public void helloPoi5() throws Exception {
    		XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream("F:\开发任务.xlsx"));
    		XSSFSheet hssSheet = wb.getSheetAt(0);
    		if (hssSheet == null) {
    			return;
    		}
    		// 遍历行
    		for (int rowNum = 0; rowNum <= hssSheet.getLastRowNum(); rowNum++) {
    			XSSFRow hssRow = hssSheet.getRow(rowNum);
    			if (hssRow == null) {
    				continue;
    			}
    			//遍历列
    			for (int cellNum = 0; cellNum <= hssRow.getLastCellNum(); cellNum++) {
    				XSSFCell hssCell = hssRow.getCell(cellNum);
    				if (hssCell == null) {
    					continue;
    				}
    				System.out.print(" " + getValue(hssCell)); 
    			}
    			    System.out.println();
    		}
    	}
    	private static String getValue(XSSFCell 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());
    		}
    	}
    

      四.获取excel内的文本信息

            

    @Test
    	  public void helloPoi6()throws Exception{
    		     InputStream is=new FileInputStream("F:\工作簿1.xls");
    			POIFSFileSystem fs=new POIFSFileSystem(is);
    			HSSFWorkbook wb=new HSSFWorkbook(fs);
    			ExcelExtractor excelExtractor=new ExcelExtractor(wb);
    			excelExtractor.setIncludeSheetNames(false);// 我们不需要Sheet页的名字
    			System.out.println(excelExtractor.getText());
    	  }
    

      

  • 相关阅读:
    django实例(1)
    django笔记补充
    django笔记
    Docker自学纪实(六)搭建docker私有仓库
    Docker自学纪实(四)搭建LNMP部署wordpress
    Docker自学纪实(三)Docker容器数据持久化
    Docker自学纪实(二)Docker基本操作
    Docker自学纪实(一)Docker介绍
    CentOS 7.4 基于LNMP搭建wordpress
    CentOS7安装配置VSFTP
  • 原文地址:https://www.cnblogs.com/goxcheer/p/8671147.html
Copyright © 2020-2023  润新知