PHPExcel
成都创新互联主营卧龙网站建设的网络公司,主营网站建设方案,成都app开发,卧龙h5微信小程序定制开发搭建,卧龙网站营销推广欢迎卧龙等地区企业咨询
PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。
PHP读取示例代码
//获取上传的excel临时文件
$path = $_FILES["file"]["tmp_name"];
//将临时文件移动当前目录,可自定义存储位置
move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
//将获取在服务器中的Excel文件,此处为上传文件名
$path = $_FILES["file"]["name"];
//调用readExcel函数返回一个
二维数组
$exceArray = readExcel($path);
//创建一个读取
excel函数
function readExcel($path){
//引入PHPExcel类库
include 'Classes/PHPExcel.php';
include 'Classes/PHPExcel/IOFactory.php';
$type = 'Excel5';//设置为Excel5代表支持2003或以下版本,
Excel2007代表2007版
$xlsReader = \PHPExcel_IOFactory::createReader($type);
$xlsReader-setReadDataOnly(true);
$xlsReader-setLoadSheetsOnly(true);
$Sheets = $xlsReader-load($path);
//开始读取上传到服务器中的Excel文件,返回一个
二维数组
$dataArray = $Sheets-getSheet(0)-
toArray();
return $dataArray;
}
第一个是PHPExcelReader,另外一个是PHPExcel。
PHPExcelReader比较轻量级,仅支持Excel的读取,实际上就是一个Reader。但是可惜的是不能够支持Excel 2007的格式(.xlsx)。
PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文件的读取。
下载PHPExcel后保存到自己的类文件目录中,然后使用以下代码可以打开Excel 2007(xlsx)格式的文件:
1
2
3
4
5
6
require_once '/libs/PHPExcel-1.8.0/Classes/PHPExcel.php'; //修改为自己的目录
echo 'pTEST 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。如何通过Sheet名来获得当前Sheet我还不知道,如果有知道的可以站内我。
需要注意的是,对于Excel中的日期格式,PHPExcel读出来的是不是日期类型,需要我们使用以下方法来进行日期类型转换。
echo date("Y-m-d H:i:s",PHPExcel_Shared_Date::ExcelToPHP($date));
下面的代码显示了如何遍历显示Excel的内容:
1 table id="table_id"
2 ?php
3 $objWorksheet = $objPHPExcel-getActiveSheet();
4 $i = 0;
5 foreach($objWorksheet-getRowIterator() as $row){
6 ?
7 tr
8 ?php
9 $cellIterator = $row-getCellIterator();
10 $cellIterator-setIterateOnlyExistingCells(false);
11
12 if( $i == 0 ){
13 echo 'thead';
14 }
15 foreach($cellIterator as $cell){
16
17 echo 'td' . $cell-getValue() . '/td';
18
19 }
20 if( $i == 0 ){
21 echo '/thead';
22 }
23 $i++;
24 ?
25 /tr
26 ?php
27 }
28 ?
29 /table
用php读取excel,并将结果写入mysql
?php
$workbook
=
"D:\\www\\xtwh\\B01\\mysingle.xls";
$sheet
=
"list";
#实例化一个组件的对象
$ex
=
new
COM("Excel.sheet")
or
Die
("Did
not
connect");
#打开工作本使我们可使用它
$wkb
=
$ex-application-Workbooks-Open($workbook)
or
Die
("Did
not
open");
#读单元格数据
$sheets
=
$wkb-Worksheets($sheet);
#Select
the
sheet
$sheets-activate;
#Activate
it
//$cell-activate;
#Activate
the
cell
.If
this,
you
can
modify
the
cell
data.
for($i=2;$i=2501;$i++)
{
$a=$sheets-Cells($i,A);
if($a-value
==
"last")
break;
$b=$sheets-Cells($i,B);
$bp[]=$b-value;
$c=$sheets-Cells($i,C);
$cp[]=$c-value;
$d=$sheets-Cells($i,D);
$dp[]=$d-value;
$e=$sheets-Cells($i,E);
$ep[]=$e-value;
$f=$sheets-Cells($i,F);
$fp[]=$f-value;
$g=$sheets-Cells($i,G);
$gp[]=$g-value;
$h=$sheets-Cells($i,H);
$hp[]=$h-value;
}
$ex-application-ActiveWorkbook-Close("False");
unset
($ex);
require_once("../../conn.php");
$sql0="DELETE
FROM
`newyonghu`";
$result0=mysql_query($sql0,$mylink);
mysql_free_result($result0);
for($i=0;$icount($bp);$i++)
{
$sql="INSERT
INTO
`newyonghu`
(`name`,
`dept`,
`team`,
`group01`,
`position`,
`mingzi`,
`single`,
`info`)
VALUES
('".$bp[$i]."',
'".$fp[$i]."',
'".$dp[$i]."',
'".$ep[$i]."',
'".$gp[$i]."',
'".$cp[$i]."',
'".$hp[$i]."',
'single');";
$result=mysql_query($sql,$mylink);
}
echo
"script
language=\"Javascript\"";
echo
"window.close()";
echo
"/script";
mysql_free_result($result);
//释放结果内存资源
mysql_close($mylink);
//
断开连接
?
php读取excel,excel下多个个工作表的方法:
1、利用PHPExcelReader来完成多个excel的读取。
2、PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文件的读取。
3、下载PHPExcel后保存到自己的类文件目录中,然后使用以下代码可以打开Excel 2007(xlsx)格式的文件:
require_once '/libs/PHPExcel-1.8.0/Classes/PHPExcel.php'; //修改为自己的目录
echo 'pTEST 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变量就能够看到文件中的内容了。