java poi修改excel

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lixin2151408/article/details/73549250
public  void setcfywlxexcel(List<Map> map){
		String filename = GetProperties.getConstValueByKey("cffilepath");
			try {
				File filexlsxFile =new File(filename);
				if(!filexlsxFile.exists()){  //这里我设置的如果配置文件中设置的地址没找到此excel文件,则从项目中找;
					URL filepath = SearchService.class.getResource("/批量查封上传模板.xlsx");
					 filename = filepath.getPath();
					 filexlsxFile = new File(filename);
				}
				FileInputStream in = new FileInputStream(filexlsxFile);  //设置文件输入流
				Workbook workbook = new XSSFWorkbook(in);		 
				Sheet sheet = workbook.getSheetAt(1);			 //这里是从0开始,因为我修改的是第二个sheet ,因此我写的1
				
				int rowNumber = sheet.getLastRowNum();  // 第一行从0开始算  
	            System.out.println("原始数据总行数,除属性列:" + rowNumber);  	 //这里是原文件的行数
	            for (int i = 1; i <= rowNumber; i++) {  
	                Row row = sheet.getRow(i);  					 //获得每一行
	                sheet.removeRow(row);  						 //删除行
	            }  
				FileOutputStream out = new FileOutputStream(filexlsxFile); 	//这里一定要输出,不然不会保存操作
				workbook.write(out);
				
				for(int i =0;i<map.size();i++){
					String CFLX = map.get(i).get("PRODEF_NAME").toString();	
					Row row = sheet.createRow(i);				//创建新行
					Cell cflx = row.createCell(0);				//创建单元格
					cflx.setCellValue(CFLX);				//单元格赋值
				}
				out =  new FileOutputStream(filexlsxFile);  			//依旧,保存
	            workbook.write(out);
	            if(out != null){  
                    out.flush();  
                    out.close();  
                }  
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} 
		
	}

猜你喜欢

转载自blog.csdn.net/lixin2151408/article/details/73549250