广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP怎么实现读取Excel文件的记录
  • 647
分享到

PHP怎么实现读取Excel文件的记录

2023-06-29 09:06:03 647人浏览 薄情痞子
摘要

这篇文章主要介绍“PHP怎么实现读取excel文件的记录”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php怎么实现读取Excel文件的记录”文章能帮助大家解决问题。首先安装Composer。com

这篇文章主要介绍“PHP怎么实现读取excel文件的记录”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php怎么实现读取Excel文件的记录”文章能帮助大家解决问题。

首先安装Composer。

composer require phpoffice/phpspreadsheet,后面可加版本号也可以不加。

可能是因为我们上外网代理的缘故,始终安装不上,好不容易安装上了,使用Composer始终安装不上PHPOffice/PHPExcel,各种莫名其妙的错误提示。

接下来我下载了JetBrains PhpStORM,在它里面进行安装,错误提示变了一些,可是还不行,打开OPENSSL和下载证书也还是不行。

为这个耗费了3个小时,真心快崩溃了,想一想为什么别人可以呢?

为什么一定要Composer安装?其实安装不过是将PHPOffice的信息写到配置文件,方便程序员编程环境下进行代码提示、错误检测还有后期的运行提示,不安装又怎样?

在网上下载一个付费的PHPOFFICE,解包到一个目录,引用一下,按照网上的方式读取,结果几十行的错误提示:

Deprecated: Array and string offset access syntax with curly braces is deprecated in G:\PHP2021\HTAPP\phpexcel\Classes\PHPExcel\Shared\String.php on line 526
......
Deprecated: Array and string offset access syntax with curly braces is deprecated in G:\PHP2021\HTAPP\phpexcel\Classes\PHPExcel\Reader\Excel5.php on line 1928
......
Deprecated: Array and string offset access syntax with curly braces is deprecated in G:\PHP2021\HTAPP\phpexcel\Classes\PHPExcel\Calculation.php on line 2551
......
Deprecated: Array and string offset access syntax with curly braces is deprecated in G:\PHP2021\HTAPP\phpexcel\Classes\PHPExcel\Worksheet\AutoFilter.php on line 720
......
Deprecated: Array and string offset access syntax with curly braces is deprecated in G:\PHP2021\HTAPP\phpexcel\Classes\PHPExcel\Cell.php on line 812

这个意思是:不推荐使用:不推荐使用带大括号的数组字符串偏移量访问语法,这个显示有几十行,让人沮丧,因为类库是别人写的,本来打算放弃的,将网页拉到最后,竟然有数据记录读出来,真是让人惊喜,意味着只要解决这个错误就可以了。

逐个打开有错误提示的文件,将数组的“{}”访问方式改成“[]”,错误太多了改了半个小时,问题解决了。

<?phperror_reporting(E_ALL);//报告所有错误date_default_timezone_set('PRC');   //设置时区为中国 require_once './Classes/PHPExcel/IOFactory.php';$excelFilename="安装记录111.xlsx"; $ext=substr($excelFilename,strripos($excelFilename,'.'));$dataSheet=[]; if($ext=='.xlsx'){//按Excel2007文件格式读取$reader = PHPExcel_IOFactory::createReader('Excel2007');$reader->setReadDataOnly(true);$spreadSheet=$reader->load($excelFilename);$workSheet=$spreadSheet->getActiveSheet();foreach($workSheet->getRowIterator() as $key=>$row){$cellIterator=$row->getCellIterator();$cellIterator->setIterateOnlyExistinGCells(false);foreach($cellIterator as $k=>$cell){$dataSheet[$key][$k]=$cell->getValue();}}}elseif($ext=='.xls'){//以Excel5(Excel97-2003工作簿)的格式读取$reader = PHPExcel_IOFactory::createReader('Excel5');//加载excel文件$PHPExcel = $reader->load("WPS安装记录.xls");//读取第一个工作表$sheet = $PHPExcel->getSheet(0);//获取总行数$highestRow = $sheet->getHighestRow();//获取总列数$highestColumm = $sheet->getHighestColumn(); //读取单元格的数据(从第一行,A列开始先行后列)for ($row = 1; $row <= $highestRow; $row++){for ($column = 'A'; $column <= $highestColumm; $column++) {$dataSheet[] = $sheet->getCell($column.$row)->getValue();}}}else{exit("不能识别{$excelFilename}.\n");} print_r($dataSheet); ?>

搞定!文件记录全部显示出来,既可以读取后缀为xls的文件也可以读取xlsx的文件。

后面就是写入数据库了。

这个方法还是有点麻烦,后面找其他的方法,至少ODBC应该是可以的。

补充

PHP其实不仅能读取Excel文件的记录,还可以生成Excel文件

下面这代码中函数arrayToExcel的功能是把一个二维数组的数据生成一个excel文件,并且保存在服务器上。

require_once 'Classes/PHPExcel/Reader/Excel2007.php';require_once 'Classes/PHPExcel/Reader/Excel5.php';include 'Classes/PHPExcel/IOFactory.php';function arrayToExcel($data){$objPHPExcel = new PHPExcel();$objPHPExcel->setActiveSheetIndex(0);$objPHPExcel->getActiveSheet()->setTitle('firstsheet');$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');$objPHPExcel->getDefaultStyle()->getFont()->setSize(10);//add data$i = 2;foreach ($data as $line){$objPHPExcel->getActiveSheet()->setCellValue('A'.$i, $line['From']);$objPHPExcel->getActiveSheet()->getCell('A'.$i)->setDataType('n');$objPHPExcel->getActiveSheet()->setCellValue('B'.$i, $line['To']);$objPHPExcel->getActiveSheet()->getCell('B'.$i)->setDataType('n');$i++;}$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');$file = 'excel.xls';$objWriter->save($file);}

如果你不希望保存在服务器上,希望生成以后直接下载到客户端,可以在输出文件的时候加入下面的代码,而不使用 $objWriter->save($file);

代码如下:

header("Pragma: public");header("Expires: 0");header("Cache-Control:must-revalidate, post-check=0, pre-check=0");header("Content-Type:application/force-download");header("Content-Type:application/vnd.ms-execl");header("Content-Type:application/octet-stream");header("Content-Type:application/download");header('Content-Disposition:attachment;filename="excel.xls"');header("Content-Transfer-Encoding:binary");$objWriter->save('php://output');

关于“PHP怎么实现读取Excel文件的记录”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网PHP编程频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: PHP怎么实现读取Excel文件的记录

本文链接: https://www.lsjlt.com/news/323946.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP怎么实现读取Excel文件的记录
    这篇文章主要介绍“PHP怎么实现读取Excel文件的记录”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP怎么实现读取Excel文件的记录”文章能帮助大家解决问题。首先安装Composer。com...
    99+
    2023-06-29
  • PHP实现读取Excel文件的记录(一)
    因为工作需要将Excel的文件记录读出再写入数据库中,之前使用的是VBS,可是那也不是正规的应用程序,使用PowerBuilder也可以,但是PowerBuilder毕竟只是临时使用...
    99+
    2022-11-13
  • PHP实现读取Excel文件的记录(二)
    《PHP实现读取Excel文件的记录(一)》 中有在PHP中读取Excel的例子,有些麻烦,因为必须要加载很多的文件。 应该有ODBC的读取方法,还没有试,今天的方法简单了...
    99+
    2022-11-13
  • PHP中怎么实现一个读取Excel文件类
    本篇文章为大家展示了PHP中怎么实现一个读取Excel文件类,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。PHP读取Excel文件类代码示例:< php  &nb...
    99+
    2023-06-17
  • pandas怎么读取excel文件
    pandas读取excel文件的步骤:1、确保已经安装了Pandas库;2、导入Pandas库和其他可能需要的库;3、使用Pandas的“read_excel()”函数来读取Excel文件;4、对数据进行操作和分析,例如查看数据的前几行、查...
    99+
    2023-11-21
    Pandas Excel文件
  • 怎么用C#读取Excel文件
    这篇文章主要讲解了“怎么用C#读取Excel文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用C#读取Excel文件”吧!C#读取Excel文件方法一:直接读取(这种直接读取单元格的方...
    99+
    2023-06-18
  • C#中怎么读取Excel文件
    这期内容当中小编将会给大家带来有关C#中怎么读取Excel文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。private DataTable getTable() &nbs...
    99+
    2023-06-18
  • Python实现读取json文件到excel表
    本文实例为大家分享了Python实现读取json文件到excel表,供大家参考,具体内容如下 一、需求 1、'score.json' 文件内容: { "1":["小花",99,100,98.5], ...
    99+
    2022-06-04
    文件 Python json
  • java怎么读取excel文件内容
    可以使用Apache POI库来读取Excel文件内容。首先,你需要下载并导入Apache POI库。你可以在官方网站(https:...
    99+
    2023-09-20
    java excel
  • 怎么用vbs读取Excel文件的函数
    这篇文章主要介绍了怎么用vbs读取Excel文件的函数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:Function ReadExcel( myXlsFile, m...
    99+
    2023-06-08
  • 怎么用c#读取excel文件内容
    你可以使用Microsoft.Office.Interop.Excel命名空间下的Excel对象来读取Excel文件内容。 首先,你...
    99+
    2023-10-22
    C# excel
  • php怎么读取目录下所有文件
    在PHP中,可以使用`opendir()`函数打开一个目录,然后使用`readdir()`函数遍历目录中的所有文件。可以使用一个循环...
    99+
    2023-10-08
    php
  • PHP实现读取指定目录下的所有文件
    在php中读取指定目录下的文件主要用到了opendir和readdir函数 一:opendir(打开目录句柄) 1:语法 opendir(path,context); 2:参数说明 参数描述path必需。规定要打开的目录路径。context...
    99+
    2023-10-18
    php 开发语言
  • Excel文件怎么在Android应用中读取
    这篇文章给大家介绍Excel文件怎么在Android应用中读取,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。初始化变量:InputStream inputStream = null;//输入流FileOutputStr...
    99+
    2023-05-31
    android excel roi
  • Java怎么实现读取resources目录下的文件路径
    本篇内容主要讲解“Java怎么实现读取resources目录下的文件路径”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么实现读取resources目录下的文件路径”吧!打印文件的方法如...
    99+
    2023-06-29
  • 利用Python实现读取Word文档里的Excel附件
    目录解压缩Microsoft OLE2 文件分析与提取分析安装提取再次使用 file 分析完整代码如下使用正确的后缀保存附件安装获取后缀安装获取后缀正确的文件名群里有人提出这么一个需...
    99+
    2022-12-16
    Python读取Word中Excel附件 Python读取Excel附件 Python Word Excel
  • PHP怎么读取大文件
    小编给大家分享一下PHP怎么读取大文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!衡量成功唯一能确认我们对代码所做改进是否有效的方式是:衡量一个糟糕的情况,然后...
    99+
    2023-06-15
  • PHP中怎么读取文件
    本篇文章给大家分享的是有关PHP中怎么读取文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。< php  $file = '...
    99+
    2023-06-17
  • 怎么在Python中利用xlwings读取Excel文件
    怎么在Python中利用xlwings读取Excel文件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 处理要求:一个Excel表格中包含了3万条记录,其中B,C两个列记录...
    99+
    2023-06-06
  • Pandas怎么实现Excel文件读取,增删,打开和保存操作
    这篇文章主要讲解了“Pandas怎么实现Excel文件读取,增删,打开和保存操作”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Pandas怎么实现Excel文件读取,增删,打开和保存操作”吧...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作