PoI导出列表优化

针对写了头信息之后,使用for循环遍历会导致数据丢失问题的优化,使用迭代器替代for循环,具体如下:

	public static boolean ExportDeptLeaderFileToLocal(List<Manger> lsManger) {
		
		String[] titlie = { "姓名", "联系方式", "是否在岗" };
		
		// 创建Excel工作簿
		HSSFWorkbook workBook = new HSSFWorkbook();
		
		// 创建一个Sheet页
		HSSFSheet sheet = workBook.createSheet();
		
		// 设置表格默认列宽度为15个字节
		sheet.setDefaultColumnWidth((short) 15);
		
		// 创建第一行
		HSSFRow row = sheet.createRow(0);
		
		// 定义单元格
		HSSFCell cell = null;
		
		// 插入第一行数据id,name,sex
		for (int i = 0; i < titlie.length; i++) {
			cell = row.createCell(i);
			cell.setCellValue(titlie[i]);
		}
		
		// 遍历集合数据,产生数据行
		Iterator<Manger> it = lsManger.iterator();
		
		int index = 0;
		
		Manger manger=null;
		
		// 追加数据
		while(it.hasNext()) {
			
			index++;
			
			// 创建行,每循环一次就创建一行
			HSSFRow nextrow = sheet.createRow(index);
			
			manger = it.next();
		
			// 创建第一行的第一列,并填入数据
			HSSFCell cell2 = nextrow.createCell(0);
			cell2.setCellValue(manger.getMangerName());
			
			// 创建第一行的第二列,并填入数据
			cell2 = nextrow.createCell(1);
			cell2.setCellValue(manger.getMangerMobile());
			
			// 创建第一行的第三列,并填入数据
			cell2 = nextrow.createCell(2);
			cell2.setCellValue(manger.getIsDel());

		}
		
		// 创建一个文件
		File file = new File("C:/Users/Administrator/Downloads/DeptLeader_List.xls");
		
		try {
			file.createNewFile();
			FileOutputStream stream = FileUtils.openOutputStream(file);
			
			workBook.write(stream);
			
			stream.close();
			workBook.close();
			
			System.out.println(">>>文件已导出,路径为:C:\\Users\\Administrator\\Downloads\\DeptLeader_List.xls;导出结束!");
			
			return true;
		} catch (Exception e) {
			e.printStackTrace();
			System.out.println("部门leader列表导出失败!");
		}
		return false;
	}

  end.

转载于:https://www.cnblogs.com/xh_Blog/p/8393003.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值