PoI导出列表优化

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
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.

posted @   xh_Blog  阅读(492)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示