欢迎光临SEO网站目录!
当前位置:SEO网站目录 » 站长资讯 » 网站运营 » 文章详细 订阅RssFeed

PHPExcel 超长多列数据获取问题

来源:互联网 浏览:1309次 时间:2020-06-22
想必大家都有过使用PHPExcel  进行excel数据读取的开发


一般来讲 导入逻辑大同小异如下:


// excel文件的路径,
$url = './Public/Upload/excel.xls';
// 读取excel文件
try {
$inputFileType = \PHPExcel_IOFactory::identify ( $url);
$objReader = \PHPExcel_IOFactory::createReader ( $inputFileType );
$objReader->setReadDataOnly ( true ); // 只需要添加这个方法实现表格数据格式转换
$objPHPExcel = $objReader->load ( $url);
} catch ( Exception $e ) {
}
// 选择第一个sheet页
$sheet = $objPHPExcel->getSheet ( 0 );
// 获取当前页的最大行数
$highestRow = $sheet->getHighestRow ();
// 获取当前页的最大列数
$highestColumn = $sheet->getHighestColumn ();
$data = array();
// 第一行一般是表头【文字类的东西,不需要可以不用管】 这里从第二行开始取读取数据
// 循环行数 获取数据
for ($rowIndex = 2; $rowIndex <= $highestRow; $rowIndex++) {
// 从A列开始循环获取每个单元格的数据
for ($colIndex = 'A'; $colIndex <= $highestColumn; $colIndex++) {
// 组装单元格标识  A1  A2 
$addr = $colIndex . $rowIndex;
// 获取单元格内容
$cell = $sheet->getCell($addr)->getValue();
//富文本转换字符串
if ($cell instanceof PHPExcel_RichText) { 
$cell = $cell->__toString();
}
if(empty($cell)){
continue ;
}
}
}
对于一般列数比较少(少于26列)的表格来说  这段代码还是能够执行的,但对于多于26列的表格来说 就会出现一个问题,第二层for循环获取数据时,会出现列获取不全,比如说导入的excel最大列数到CD列 ,那么就会出现只能获取到 A,B,C三列的数据  后面的列数获取不到,那肯定是第二层for循环判断的问题,修改第二层for循环的判断


变更为 


for ($colIndex = 'A'; $colIndex != $highestColumn; $colIndex++)
这样获取到的列是多了 ,但是还有一个问题 这个只能获取到CC列,CD列的数据获取不到,解决的办法就是


// 获取当前页的最大列数
$highestColumn = $sheet->getHighestColumn ();
// 最大列数+1 实际上是往后错一列
++$highestColumn;
按照如上修改,那么就可以循环遍历到整个表格的有效单元格的数据了

最新点入

  • 山东欣烨化工山东欣烨化工

    山东欣烨化工是一家集科研,生产,销售医药中间体,农药中间体,橡塑助剂,阻燃剂,酚醛树脂于一体的综合性化工企业。。采用轻资产的发展路线,采用参股、租赁工厂,或者代加工的发展模式。 在东营广饶丁庄镇、淄博淄川罗村镇、淄博齐鲁化工园纬六路、潍坊市滨海经济开发区临港路工业园建有生产工厂,德州市禹城化工园。 公司技术力量雄厚,拥有完善的产品检测手段和质量保证体系,密切关注着国内外科研和生产动态,并与山东大学化工学院合作,不断开发和研发新产品,以满足客户的不同需求。

    www.sdxinyechem.cn
  • 济南欣烨生物济南欣烨生物

    现公司主导产品有:生物制药系列,医药中间体,化学溶剂系列,阻燃剂系列,化学试剂系列,颜料燃料系列,橡胶塑料系列,酚醛树脂等系列产品。

    www.sdkaikai.cn
  • 阳光游戏阳光游戏

    阳光游戏网为玩家提供新的网络游戏,单机游戏,手机游戏,手游等资源,经过多年努力已成为游戏玩家首要选择的游戏资讯、游戏资源网站。

    www.shiciwang.com.cn
  • 山东欣烨生物山东欣烨生物

    山东欣烨生物是一家集科研,生产,销售医药中间体,农药中间体,橡塑助剂,阻燃剂,酚醛树脂于一体的综合性化工企业。

    www.sdxinyekeji.cn
  • 站长交易平台站长交易平台

    2898站长资源平台作为站长资源交换平台,致力于为广大站长和网站运营人员提供最方便、最快捷的站长资讯、站长交易、链接交易、链接交换、资源交换等服务。

    www.2898.com

推荐站点

  • 一起剪 - AI视频创作智能体[免费]一起剪 - AI视频创作智能体[免费]

    一起剪是全球首个免费AI视频创作智能体,是一款强大的在线视频剪辑工具。其重要性在于为自媒体和媒体生产者提供了便捷、高效的视频制作解决方案。主要优点包括具备海量素材库、精美视频模板,可实现视频云端自动合成、一键发布等功能,能够帮助用户零成本制作视频并多渠道快速传播。产品背景上,它提供了一系列先进的AI技术来支持视频创作。价格方面,是免费使用的。定位是面向广大需要进行视频创作的人群,无论是专业的媒体工作者还是普通的自媒体创作者,都能借助它轻松完成视频制作。

    https://www.yiqijian.com/
  • 奇妙元 - 数字人奇妙元 - 数字人

    奇妙元是一站式数字人视频制作和直播平台,重要性在于为用户简化数字人内容创作流程。其主要优点包括一站式服务,涵盖从AI写作、AI绘画、AI配音到数字人视频制作的全流程;提供多种数字形象克隆方案,满足不同需求;告别真人录制,提高创作效率。产品背景是为适应数字内容创作的需求而开发。价格信息未提及,定位是为行业客户和有数字人内容创作需求的用户提供服务。

    https://weta365.com/
  • 快剪辑快剪辑

    快剪辑SaaS是国内领先的视频剪辑软件,具有强大的云端剪辑能力。该软件支持在线去水印、录屏、录音等多种功能,拥有海量版权视频模板、音乐、特效和贴纸,适用于个人和中小企业定制。产品定位为降低视频剪辑门槛,让用户无需专业剪辑基础就能实现创作自由。价格方面未提及,从页面信息推测可能有免费试用或部分功能免费,部分功能付费的模式。其主要优点包括:操作便捷,依托云端无需复杂安装;功能丰富,满足各种视频创作需求;素材多样,商用更安心。

    https://www.kuaijianji.com/
  • 闪剪闪剪

    闪剪是国内领先的AI数字人口播视频在线创作平台,拥有移动端APP版本。其核心功能是利用AI技术自动创作文案并一键生成数字人视频,用户可输入关键词,平台就能迅速完成视频创作。此外,还支持在线定制专属数字人形象及声音。 该平台的重要性在于为企业和个人提供了高效、便捷的视频创作解决方案,降低了视频制作的门槛和成本。其主要优点包括丰富的数字人视频模板、200 + 国际化数字人模特、24 + 国家AI配音、AI文案创作、智能成片等功能,能帮助企业团队轻松实现矩阵营销引流,降本增效。目前暂未提及价格相关信息,其定位是为有视频创作需求的企业和自媒体人提供服务。

    https://shanjian.tv/
  • Capsule - 由AI驱动的视频编辑器Capsule - 由AI驱动的视频编辑器

    Capsule是一款由AI驱动的视频编辑器,专为内容和营销团队设计。其重要性在于能极大提升视频创作的效率与质量。主要优点包括:10倍速创建视频,让创作效率显著提升;支持无缝协作,使团队成员能高效沟通合作;通过运动设计系统确保品牌一致性。产品背景方面,它获得了顶级AI和未来工作投资者的支持。价格方面提供免费注册,也可获取演示和查看定价信息。定位是服务企业团队,不仅面向专业编辑人员,让每个员工都能成为视频创作者。[国内限制访问]

    https://capsule.video/