zoukankan      html  css  js  c++  java
  • Excel相关:去重,POI操作EXCEL

    1.EXCEL去重

    Excel 如何用数组实现多个文件之间的对比去重 参考地址:https://zhidao.baidu.com/question/1116785302047857299.html?qq-pf-to=pcqq.c2c




    Alt+F11 --》在宏里面插入模块,然后执行如下代码,即可在excel中打上“已存在标记”
    去重代码:

        ' https://zhidao.baidu.com/question/1116785302047857299.html?qq-pf-to=pcqq.c2c   Excel 如何用数组实现多个文件之间的对比去重    看看这个
    
    Sub 数据对比()
    Dim i As Integer
    Dim j As Integer
    For i = 2 To 12 '表1   '从第2行开始比较到第12行结束
    For j = 2 To 11 '表2   '从第2行开始比较到第11行结束
    
    '表1与表2的数据去重
    If Sheets("表1").Cells(i, 1) = Sheets("表2").Cells(j, 1) Then   '第1列作为重复标识字段
    If Sheets("表1").Cells(i, 2) = Sheets("表2").Cells(j, 2) Then   '第2列作为重复标识字段
    Sheets("表1").Cells(i, 8) = "已存在" '存在时进行标记            '在表1中的第8列打上“已存在”标记
    
    '表3与表4的数据去重
    If Sheets("表1").Cells(i, 1) = Sheets("表2").Cells(j, 1) Then
    If Sheets("表1").Cells(i, 2) = Sheets("表2").Cells(j, 2) Then
    Sheets("表1").Cells(i, 8) = "已存在" '存在时进行标记
    
    End If
    End If
    Next j
    Next i
    End Sub
    
    

    2.POI操作EXCEL工作簿

    参考地址:http://poi.apache.org/components/spreadsheet/how-to.html#sxssf
    总结:POI操作EXCEL工作簿的三种类型:
    HSSFWorkbook是操作Excel2003以前(包括2003)的版本,扩展名为.xls,所以每个Sheet局限就是导出的行数至多为65535行,一般不会发生内存不足的情况(OOM)
    XSSFWookbook是EXCEL2007以后的版本(1048576行,16384列)扩展名.xlsx,每个Sheet最多可以导出104万行,不过这样就伴随着一个OOM内存溢出的问题
    SXSSFWorkbook是对XSSF的一种流式扩展,特点是采用了滑动窗口的机制,低内存占用,主要用于数据量非常大的电子表格而虚拟机堆有限的情况
    用的时候建议大家将用SXSSFWorkbook

  • 相关阅读:
    模拟测试69
    模拟测试68
    模拟测试66
    NOIP模拟测试15
    NOIP模拟测试14
    Gekoo's checker
    NOIP模拟测试13
    替罪羊树模板
    KDTree笔记
    NOIP模拟测试12
  • 原文地址:https://www.cnblogs.com/newcapecjmc/p/12671784.html
Copyright © 2011-2022 走看看