我试图根据Cell B = 59/61等条件删除行。 但是,PHPExcel非常缓慢地加载行。 对于18000行/ 3MB的工作表,加载大约需要4小时30分钟。 如何提高数据工作表的加载和删除速度?

set_include_path(get_include_path() . PATH_SEPARATOR . 'Classes/');

/** PHPExcel_IOFactory */

include 'PHPExcel/IOFactory.php';

//Defining File Type

$fileType = "Excel2007";

//Retrieving File

$tmpfname = "bigfile.xlsx";

//Loading file into PHPExcel

$objPHPExcel = PHPExcel_IOFactory::load($tmpfname);

$worksheet = $objPHPExcel->getSheet(0); //Worksheet of file defined as first

$lastRow = $worksheet->getHighestRow();

//Determine which rows to be remove

$DeletedRows = [];

$DeletedRowCount = 0;

for ($row = 2; $row <= $lastRow; $row++) {

//Checker

$CellA = $worksheet->getCell('A' . $row)->getValue();

$CellB = $worksheet->getCell('B' . $row)->getValue();

$CellE = $worksheet->getCell('E' . $row)->getValue();

//To check condition

if ($CellB != 8 && $CellB != 9 && $CellB != 18 && $CellB != 19) {

$DeletedRows[] = $row;

continue;

}

//To check if condition

else if ($CellE == 59 || $CellE == 61){

$DeletedRows[] = $row;

continue;

}

}

//Removing the rows

//Deleting this way as when one row deleted, one row less.

foreach ($DeletedRows as $key => $value) {

$row = $value - $DeletedRowCount;

$objPHPExcel->getActiveSheet()->removeRow($row, 1);

$DeletedRowCount++;

}

//Write file into original file

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $fileType);

$objWriter->save($tmpfname);

phpexcel删除行_php - PHPExcel从大型工作表中删除行 - 堆栈内存溢出相关推荐

  1. mysql 内存溢出_mysql - MySQL在非常大的表上计算性能 - 堆栈内存溢出

    我在Innodb中有一个表格,其中有超过1亿行. 我必须知道外键= 1时是否有超过5000行.我不需要确切的数字. 我做了一些测试: => 16 seconds => 16秒中 => ...

  2. oracle dba segments,oracle - Oracle存储过程显示“ dba_segments”错误:表不存在 - 堆栈内存溢出...

    我曾尝试创建Oracle 10g数据库的存储过程,即选择从数据dba_segments并插入到另一个表(即table_space). CREATE OR REPLACE PROCEDURE P_DAI ...

  3. Excel工作表中设置好公式的单元格内容,不允许修改,如何锁定?

    Excel工作表中设置好公式的单元格内容,不允许修改,如何锁定? 目录 Excel工作表中设置好公式的单元格内容,不允许修改,如何锁定? 1.例如:我们做表格时已经设置好公式,只允许填写数据,不允许修 ...

  4. excel如何删除空白行_将EXCEL工作表中无用处的空白行删除

    大家好,时间如白驹过隙,我很早以前开始学习利用VBA,忽然间已有20多年了.开发过大小不同的VBA程序程序已数不胜数.VBA是利用Office实现个人小型办公自动化的有效手段(工具),这是我的对VBA ...

  5. 柱形图无数据可选中_在Excel工作表中插入一个三维柱形图

    柱形图是Excel图表中最基础的一种类型,也是在工作中最常用的.但是除了普通的柱形图以外,还可以在工作表中插入三维柱形图,看上去更有立体感,使得数据展现上的层次更丰富.下面就来简要介绍一下Excel柱 ...

  6. 在excel工作表中c1单元格_已知Excel工作表中A1单元格和B1单元格的值分别为“电子科技大学”、“信息中心”,要求在C1单元格显示“...

    已知Excel工作表中A1单元格和B1单元格的值分别为"电子科技大学"."信息中心",要求在C1单元格显示" 更多相关问题 所谓犯罪现象的特性,是指为 ...

  7. oracle删除表中数据_工作表中提供的特定数据在数据库中批量删除的方法

    大家好,我们今日继续讲解VBA数据库解决方案的第25讲内容:利用VBA,把工作表中提供的数据在数据表中批量删除的方法.在上一讲中,我们讲了实现在数据表中删除记录的一般方法,这种方法可以对重复的数据进行 ...

  8. oracle删除表中数据_Excel工作表中,删除重复数据的2种方法解读,高效且实用!...

    在实际的工作中,经常要对工作表中重复的数据进行删除,如若数据行只有几条,则可通过人工查找出来,如若数据行较多,这种方法就费时费力,而且容易出错,造成对表格数据的准确性和个人能力的怀疑--今天,小编给大 ...

  9. elasticsearch 根据条件去除重复值_Excel工作表中的条件格式,不只是查找重复值,还有7种典型用法...

    Excel工作表中的[条件格式],对于大部分亲来说并不陌生,用的最多的应该是标识"重复值"或"唯一值",其实还有数据可视化等多种功能-- 一.Excel条件格式 ...

最新文章

  1. 第六章 深度学习(中下)
  2. android遥控器按键传输流程,android 海思平台遥控器按键映射流程
  3. mysql修改主键生成策略信息_常用Hibernate 主键生成策略
  4. 黑客必须掌握的基本技能
  5. 信息学奥赛一本通(1054:三角形判断)
  6. Python字符串count()
  7. 20145324 《Java程序设计》第1周学习总结
  8. 初步认识图像的直方图
  9. win iis mysql php_Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境搭建教程
  10. matlab2016a最新安装教程
  11. 五款服务器配置管理工具
  12. 浅谈督查督办管理系统在企业管理中起到的作用
  13. 基于JAVA第二课堂选课系统计算机毕业设计源码+系统+lw文档+部署
  14. 构造函数中慎用memset
  15. 银河麒麟安装达梦数据库
  16. 通过 Land of Lisp 中的超简短字符游戏例程学习 loop 和 format
  17. 大学生个人博客网页设计模板 学生个人博客网页成品 简单个人网站作品下载 静态HTML CSS个人网页作业源代码
  18. Windows MFC 工程应用开发与框架原理完全剖析教程(下)
  19. 动手学EDA-建模调参
  20. 计算机应用格式工厂部分教案,格式工厂

热门文章

  1. jQuery的before()方法和after()方法
  2. [bzoj4813][Cqoi2017]小Q的棋盘
  3. 数组的去重-----------------------来自大牛的讲解
  4. PAT-乙级-1009. *说反话 (20)
  5. 桥牌笔记:让敌方的Q、J、10、X只拿一墩的打法
  6. C++项目中编译部分C的代码
  7. C++_程序注释_以及_认识变量_输出变量_认识常量---C++语言工作笔记009
  8. 大数据之-Hadoop之HDFS_基于JAVA的开发_客户端环境测试---大数据之hadoop工作笔记0055
  9. 大数据之-入门_Hadoop发展历史---大数据之hadoop工作笔记0009
  10. MyCat分布式数据库集群架构工作笔记0021---高可用_单表存储千万级_海量存储_水平分表全局表