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

原文地址:https://www.cnblogs.com/newcapecjmc/p/12671784.html