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").Cellsi, 1) = Sheets"表2").Cellsj, 1) Then '第1列作为重复标识字段
If Sheets"表1").Cellsi, 2) = Sheets"表2").Cellsj, 2) Then '第2列作为重复标识字段
Sheets"表1").Cellsi, 8) = "已存在" '存在时进行标记 '在表1中的第8列打上“已存在”标记
'表3与表4的数据去重
If Sheets"表1").Cellsi, 1) = Sheets"表2").Cellsj, 1) Then
If Sheets"表1").Cellsi, 2) = Sheets"表2").Cellsj, 2) Then
Sheets"表1").Cellsi, 8) = "已存在" '存在时进行标记
End If
End If
Next j
Next i
End Sub
2.POI操作EXCEL工作簿
参考地址:http://poi.apache.org/components/spreadsheet/how-to.html
总结:POI操作EXCEL工作簿的三种类型:
HSSFWorkbook是操作Excel2003以前(包括2003)的版本,扩展名为.xls,所以每个Sheet局限就是导出的行数至多为65535行,一般不会发生内存不足的情况(OOM)
XSSFWookbook是EXCEL2007以后的版本1048576行,16384列)扩展名.xlsx,每个Sheet最多可以导出104万行,不过这样就伴随着一个OOM内存溢出的问题
SXSSFWorkbook是对XSSF的一种流式扩展,特点是采用了滑动窗口的机制,低内存占用,主要用于数据量非常大的电子表格而虚拟机堆有限的情况
用的时候建议大家将用SXSSFWorkbook