精华内容
下载资源
问答
  • EXCEL批量删除行

    2019-11-28 22:05:27
    观察需要删除行的特点 ,将需要删除的行与需要保留的行区分开来; 使用if语句在最后一行进行判断,具体格式 if(condition, 1, 0 ) 这相当于给他们加了一个标签。 在判断的时候,可以在1的后面截止即可。即 if...

    EXCEL批量删除行

    最近困扰于数据量太多,仅仅对部分数据处理即可,需要删除大量冗余数据。折腾了好久,现在记录下来,以飨读者。

    1. 观察需要删除行的特点 ,将需要删除的行与需要保留的行区分开来;

    2. 使用if语句在最后一行进行判断,具体格式为
      if(condition, 1, 0 )
      这相当于给他们加了一个标签。

    3. 在判断的时候,可以在1的后面截止即可。即
      if(condition, 1 )
      这样如果是0, 则标签变为FALSE

    4. 定位条件-公式-逻辑值

    5. 现在已经定位到所有的逻辑值,最后一步,删除。

    展开全文
  • java使用poi操作excel删除一整行 需求1:删除excel表格第4 代码示例: sheet.shiftRows(4, sheet.getLastRowNum(),-1); 第一个参数行数(这里表示第5,下标从0开始),第二个参数是最后一,第三个参数-1...

    java使用poi操作excel删除一整行

    需求1:删除excel表格第4行

    代码示例:

    sheet.shiftRows(4, sheet.getLastRowNum(),-1);
    

    第一个参数为行数(这里表示第5行,下标从0开始),第二个参数是最后一行,第三个参数-1表示向上移一行。从第5行开始到最后一行都向上移动1行,会把第四行覆盖掉,实现删除指定行的效果。

    需求2:读取指定单元格数据(第5行第4列)

    代码示例:

      Cell cell = sheet.getRow(4).getCell(3);
    

    因为下标从0开始,所以要减1。

    需求3:读取第6行第3列单元格的数据,如果为内容为张三则删除整行

    代码示例:

       public static void main(String[] args) throws IOException {
            
                FileInputStream is = new FileInputStream("d:/test.xls");
    
                HSSFWorkbook workbook = new HSSFWorkbook(is);
                
                HSSFSheet sheet = workbook.getSheetAt(0);     
                  if(sheet.getRow(5).getCell(2).toString().equals("张三")){
                       //从第7行开始到最后一行都向上移动一行,覆盖掉第6行
                      sheet.shiftRows(6, sheet.getLastRowNum(),-1);
                  }
               
                FileOutputStream os = new FileOutputStream("d:/test.xls");
    
                workbook.write(os);
    
                is.close();
    
                os.close();
    
            }
    
    展开全文
  • POI3.8解决导出大数据excel文件时内存溢出的问题 ... 比如内存中限制行数为100,当行号到达101时,行号为0的记录刷新到硬盘并从内存中删除,当行号到达102时,行号为1的记录刷新到硬盘,并从内存中删

    POI3.8解决导出大数据量excel文件时内存溢出的问题
    博客分类: 2012年10月
    poiexcel大数据量导出内存溢出

    POI3.8的SXSSF包是XSSF的一个扩展版本,支持流处理,在生成大数据量的电子表格且堆空间有限时使用。SXSSF通过限制内存中可访问的记录行数来实现其低内存利用,当达到限定值时,新一行数据的加入会引起老一行的数据刷新到硬盘。

       比如内存中限制行数为100,当行号到达101时,行号为0的记录刷新到硬盘并从内存中删除,当行号到达102时,行号为1的记录刷新到硬盘,并从内存中删除,以此类推。
    
       rowAccessWindowSize代表指定的内存中缓存记录数,默认为100,此值可以通过
    

    new SXSSFWorkbook(int rowAccessWindowSize)或SXSSFSheet.setRandomAccessWindowSize(intwindowSize)来设置。

       SXSSF在把内存数据刷新到硬盘时,是把每个SHEET生成一个临时文件,这个临时文件可能会很大,有可以会达到G级别,如果文件的过大对你来说是一个问题,你可以使用下面的方法让SXSSF来进行压缩,当然性能也会有一定的影响。
    
               SXSSFWorkbook wb = new SXSSFWorkbook();               wb.setCompressTempFiles(true); // temp files will be gzipped
    

    例子:

    生成三个SHEET,每个SHEET有6000行记录,共18万行记录

    importjava.io.FileOutputStream;

    importorg.apache.poi.ss.usermodel.Cell;

    importorg.apache.poi.ss.usermodel.Row;

    importorg.apache.poi.ss.usermodel.Sheet;

    importorg.apache.poi.ss.util.CellReference;

    importorg.apache.poi.xssf.streaming.SXSSFSheet;

    importorg.apache.poi.xssf.streaming.SXSSFWorkbook;

    public classSXSSFWorkBookUtil {

    public voidtestWorkBook() {
    
       try{
    
           longcurr_time=System.currentTimeMillis();
    
    
    
           introwaccess=100;//内存中缓存记录行数
    
           /*keep 100 rowsin memory,exceeding rows will be flushed to disk*/
    
           SXSSFWorkbook wb = newSXSSFWorkbook(rowaccess); 
    
    
    
           intsheet_num=3;//生成3个SHEET
    
           for(inti=0;i<sheet_num;i++){
    
              Sheet sh = wb.createSheet();
    
              //每个SHEET有60000ROW
    
              for(intrownum = 0; rownum < 60000; rownum++) {
    
                  Row row = sh.createRow(rownum);
    
                  //每行有10个CELL
    
                  for(intcellnum = 0; cellnum < 10; cellnum++) {
    
                     Cell cell = row.createCell(cellnum);
    
                     String address = newCellReference(cell).formatAsString();
    
                     cell.setCellValue(address);
    
                  }
    
    
    
                  //每当行数达到设置的值就刷新数据到硬盘,以清理内存
    
                  if(rownum%rowaccess==0){
    
                     ((SXSSFSheet)sh).flushRows();
    
                  }
    
              }
    
           }
    
    
    
           /*写数据到文件中*/
    
           FileOutputStream os = newFileOutputStream("d:/data/poi/biggrid.xlsx");    
    
           wb.write(os);
    
           os.close();
    
    
    
           /*计算耗时*/
    
           System.out.println("耗时:"+(System.currentTimeMillis()-curr_time)/1000);
    
       } catch(Exception e) {
    
           e.printStackTrace();
    
       }
    
    }
    

    }

    对于不同的rowAccessWindowSize值,用上面的例子进行耗时测试,结果如下:

    rowAccessWindowSize Time(s)

    5000 293

    1000 69

    500 43

    100 20

    50 18

    10 16

    1 15

    以上测试结果是在个人笔记本电脑上进行的,配置为:

    Dual-Core CPU T4400 2.2GHz 2.19GHz

    Memory 1.86GB

    以上测试过程只是进行了一次,并没有多次测试求平均值,数据也只想表达当设置不同的rowAccessWindowSize值,耗时的一种趋势。

    可见一般情况下,使用默认值100即可。

    展开全文
  • 5.6.1 编辑和删除数据透视表计算 125 5.6.2 改变计算项求解次序 126 5.6.3 提供公式说明文档 127 5.7 下一步 128 第6章 使用数据透视图和其他可视化工具 129 6.1 什么是真正数据透视图 129 6.2 ...
  • 5.6.1 编辑和删除数据透视表计算 125 5.6.2 改变计算项求解次序 126 5.6.3 提供公式说明文档 127 5.7 下一步 128 第6章 使用数据透视图和其他可视化工具 129 6.1 什么是真正数据透视图 129 6.2 ...
  • 5.6.1 编辑和删除数据透视表计算 125 5.6.2 改变计算项求解次序 126 5.6.3 提供公式说明文档 127 5.7 下一步 128 第6章 使用数据透视图和其他可视化工具 129 6.1 什么是真正数据透视图 129 6.2 ...
  • 5.6.1 编辑和删除数据透视表计算 125 5.6.2 改变计算项求解次序 126 5.6.3 提供公式说明文档 127 5.7 下一步 128 第6章 使用数据透视图和其他可视化工具 129 6.1 什么是真正数据透视图 129 6.2 ...
  • 简介: 中文名: 别说你懂Excel:500招玩转Excel表格与数据处理(附完整光盘数据) 作者: 前沿文化图书fenlei: 软件 资源格式: PDF 版本: 扫描版 出版社: 科学出版社书号: 9787030371782...070招 在值为0的单元格中 ……
  • excel的

    2018-05-11 10:24:42
    原因是getLastRowNum值大于实际行数,经过分析,后来发现excel中有一些只删除了数据,但是实际并没有删除结构,换句话说就是在excel工作表中该行依然存在,只不过数据为空。下面记录一下返回行数...

    将excel的内容导入数据库的时候,一直报空指针异常。

    原因是getLastRowNum的值大于实际行数,经过分析,后来发现excel中有一些只删除了数据,但是实际并没有删除表的结构,

    换句话说就是在excel工作表中该行依然存在,只不过数据为空。

    下面记录一下返回行数的api

    getLastRowNum  

        如果sheet中一行数据都没有则返回-1,只有第一行有数据则返回0,最后有数据的行是第n行则返回 n-1;

    getLastCellNum   

        如果   row中一列数据都没有则返回-1,只有第一列有数据则返回1,最后有数据的列是第n列则返回 n;


    getPhysicalNumberOfRows  

        获取有记录的行数,即:最后有数据的行是第n行,前面有m行是空行没数据,则返回n-m;

    getPhysicalNumberOfCells   

        获取有记录的列数,即:最后有数据的列是第n列,前面有m列是空列没数据,则返回n-m;



    展开全文
  • #header:指定数据表头,默认值为0,即将第一作为表头。 # 删除gender列,需要指定axis为1,当删除行时,axis为0 #pandas写csv文件如何去掉索引:设置index=False, header=False ``` 运行以上代码之后我...
  • POI3.8的SXSSF包是XSSF的一个扩展版本,支持流处理,在生成大数据量的...比如内存中限制行数为100,当行号到达101时,行号为0的记录刷新到硬盘并从内存中删除,当行号到达102时,行号为1的记录刷新到硬盘,并从内存...
  • 简介: 中文名: 别说你懂Excel:500招玩转Excel表格与数据处理(附完整光盘数据) 作者: 前沿文化图书fenlei: 软件 资源格式: PDF 版本: 扫描版 出版社: 科学出版社书号: 9787030371782...070招 在值为0的单元格中 ……
  • Excel中实现隔行删除

    千次阅读 2012-03-09 11:17:25
    只需要加一个辅助列即可:     在某列输入公式: =MOD(ROW(),2)  ... 如果您希望删除偶数列,那么选取辅助列值为0,然后选中筛选出来的行,删除即可。  这个方法还可以用于隔多行删一行,只要把那
  • excel的使用

    2012-11-25 17:06:01
    存放数据格式“x,y”形式,首先在Excel中输入坐标值,将x坐标值放入A列,y坐标值放入到B列,然后利用“&”将A列和B列合并成C列,在C1中输入:=A1&","&B1;,此时C1中的数据形式就符合要求了,再用鼠标向下拖动...
  • 删除DataFrame中特定条件的行/列

    千次阅读 2018-08-16 15:52:00
    删除热水器不工作的数据(水流量为0并且开关机状态为“关”的数据。) 1 import pandas as pd 2 data=pd.read_excel('E:\siren\Python dataAnalyst\chapter10\demo\data\original_data.xls',sheetname='原始数据...
  • 查看销售人员不空值的行 数据存储情况如图: 代码实现 import pandas as pd data = pd.read_excel('test.xlsx',sheet_name='Sheet1') datanota = data[data['销售人员'].notna()] print(datanota) 输出结果 ...
  • 我现在有这样一张表 第一列姓名第二列学号如下: 想将除ab列其他数据都放到ab列下: 首先第一步,在a列后面写公式接上c列第一个选中A列9行的右下角鼠标变成‘+...之后删除ab列以为的数据即可 最后进行筛选下...
  • 3、删除全是空值的行 4、将分数列值为NAN(空值)的填充为0分 5、将姓名的缺失值进行填充 6、将清洗好的数据保存到指定excel中 原始数据: 最后输出数据: 处理步骤: 1、读取数据: 2、删除全是空值的列 3、...
  • 什么达不到像Excel表格一样形式了??代码如下: package com.example.com.ht.sqlitelistview; import java.io.File; import java.io.IOException; import android.os.Bundle; import android....
  • #data 案例sheet页中过滤案例数据; #fullfield 所有字段项去重(无论是否都需要比较,即是结果明细sheet页中标题字段)fulladdfield所有添加字段项去重 #categoryfield从案例中获得比较字段类; #...
  • 如果你的数据都在A,那么在...然后在B1输入公式=if(A1=A2,0,1),复制公式到下面栏位,然后在B中筛选值为0的删除掉,剩下的就是唯一的。 转载于:https://www.cnblogs.com/pittzh/archive/2009/10/23/1588547.html...
  • 甲和乙的数据ÿ0c;其余行删除 <p>3、格式需要保留(字体、背景、边框等)ÿ0c;序号最好能重新排列 <p>4、另存一个新无密码excel <p style="text-align:center"><img alt="" height="541...
  • Excel新增工具集

    2011-12-20 09:30:27
    9、删除删除某列为空或和为0的工作表:本操作将删除指定列从第n起单元格中数字为空或为0的工作表,给合并有效的工作表扫清障碍。 10、检查两列同行两单元格是否相同:由ID号意义相同的从表向主表合并列记录时,往往...
  • 1.我想导出前端查询后的数据,然后将数据导出到excel中,在网上查到有一个公用方法,我创建了,但是我不会调用。请各位大神帮助下,谢谢了。刚开始学习java小白。 2.疑问:controller(这个不会写)怎么调用这...
  • Excel技巧大全

    2015-05-06 07:21:37
    25. 完全删除Excel单元格 12 26. 快速删除空行 12 27. 回车键粘贴功能 12 28. 快速关闭多个文件 12 29. 选定多个工作表 12 30. 对多个工作表快速编辑 13 31. 移动和复制工作表 13 32. 工作表的删除 13 33. ...
  • EXCEL函数公式集

    热门讨论 2010-03-16 03:26:38
    通过条件格式将小计和总计的行不同的颜色 如何实现这样的条件格式 隔行不同字体颜色怎么设置 让不同类型数据用不同颜色显示 如何做这样的EXCEL表(颜色交叉) 条件格式 使用条件格式设置颜色条纹 相同数据的提示...
  • Excel新手完全教程

    2014-10-08 23:13:58
    25. 完全删除EXCEL单元格 16 26. 快速删除空行 16 27. 回车键粘贴功能 17 28. 快速关闭多个文件 17 29. 选定多个工作表 17 30. 对多个工作表快速编辑 17 31. 移动和复制工作表 18 32. 工作表的删除 18 33. ...
  • Excel百宝箱8.0

    2011-06-07 21:32:17
    第二参数为可选参数,当为0或者省略时表示取出数字;为1时表示排除数字;为2时表示取出数字与运算符;为3则提取数字与运算符且计算结果。 函数名称:唯一值 函数功能与参数:返回不重复值。可以对1到253(Excel2003...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 198
精华内容 79
关键字:

excel删除数据为0的行