如何读取excel文件 php

如何读取excel文件 php,第1张

主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel。

PHPExcelReader比较轻量级,仅支持Excel的读取,实际上就是一个Reader。但是可惜的是不能够支持Excel 2007的格式(.xlsx)。

PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种 *** 作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文件的读取。

下载PHPExcel后保存到自己的类文件目录中,然后使用以下代码可以打开Excel 2007(xlsx)格式的文件:

require_once '/libs/PHPExcel-1.8.0/Classes/PHPExcel.php'     //修改为自己的目录

echo '<p>TEST PHPExcel 1.8.0: read xlsx file</p>'

$objReader = PHPExcel_IOFactory::createReaderForFile($filename) 

$objPHPExcel = $objReader->load($filename)

$objPHPExcel->setActiveSheetIndex(1)

$date = $objPHPExcel->getActiveSheet()->getCell('A16')->getValue()

输出$date变量就能够看到文件中的内容了。PHPExcel使用PHPExcel_IOFactory这个类来自动匹配所上传的文件类型,当然我们也可以自己制定要解析的文件类型。之后通过load方法,将PHP文件加载到objPHPExcel对象中。如果Excel文件有多个Sheet,可以通过setActiveSheetIndex来设置当前活动的Sheet。

需要注意的是,对于Excel中的日期格式,PHPExcel读出来的是不是日期类型,需要我们使用以下方法来进行日期类型转换。

 echo date("Y-m-d H:i:s",PHPExcel_Shared_Date::ExcelToPHP($date))

下面的代码显示了如何遍历显示Excel的内容:

<table id="table_id">

<?php

     $objWorksheet = $objPHPExcel->getActiveSheet()

     $i = 0

     foreach($objWorksheet->getRowIterator() as $row){

     ?>

          <tr>

          <?php

               $cellIterator = $row->getCellIterator()

               $cellIterator->setIterateOnlyExistingCells(false)

                    if( $i == 0 ){

                         echo '<thead>'

                    }

               foreach($cellIterator as $cell){

                    echo '<td>' . $cell->getValue() . '</td>'

               }

                    if( $i == 0 ){

                         echo '</thead>'

                    }

               $i++

          ?>

          </tr>

     <?php

     }

?>

</table>

PHP 输出EXCEL文件有种简单的方式冲山:散袭中

定义header() 头部输出格式:

---头部输出格式的步骤有两种:

.header("Content-type:application/vnd.ms-excel")

.header("Content-Disposition:filename=php100.xls")

举例如下:

<?php

header("Content-type:application/vnd.ms-excel")

header("Content-Disposition:filename=php100.xls")

echo "A1\t B1\禅郑t C1\n"

echo "A2\t B2\t C2\n"

echo "A3\t B3\t C3\n"

?>

显示的结果:

一个3行3列的excel 文件

A1 B1 C1

A2 B2 C2

A3 B3 C3


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12128267.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存