PHPExcel
成都創(chuàng)新互聯(lián)主營臥龍網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app開發(fā),臥龍h5微信小程序定制開發(fā)搭建,臥龍網(wǎng)站營銷推廣歡迎臥龍等地區(qū)企業(yè)咨詢
PHPExcel?是用來操作Office Excel 文檔的一個(gè)PHP類庫,它基于微軟的OpenXML標(biāo)準(zhǔn)和PHP語言??梢允褂盟鼇碜x取、寫入不同格式的電子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。
PHP讀取示例代碼
//獲取上傳的excel臨時(shí)文件
$path?=?$_FILES["file"]["tmp_name"];
//將臨時(shí)文件移動(dòng)當(dāng)前目錄,可自定義存儲(chǔ)位置
move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
//將獲取在服務(wù)器中的Excel文件,此處為上傳文件名
$path?=?$_FILES["file"]["name"];
//調(diào)用readExcel函數(shù)返回一個(gè)
二維數(shù)組
$exceArray?=?readExcel($path);
//創(chuàng)建一個(gè)讀取
excel函數(shù)
function?readExcel($path){
//引入PHPExcel類庫
include?'Classes/PHPExcel.php';????????????
include?'Classes/PHPExcel/IOFactory.php';
$type?=?'Excel5';//設(shè)置為Excel5代表支持2003或以下版本,
Excel2007代表2007版
$xlsReader?=?\PHPExcel_IOFactory::createReader($type);??
$xlsReader-setReadDataOnly(true);
$xlsReader-setLoadSheetsOnly(true);
$Sheets?=?$xlsReader-load($path);
//開始讀取上傳到服務(wù)器中的Excel文件,返回一個(gè)
二維數(shù)組
$dataArray?=?$Sheets-getSheet(0)-
toArray();
return?$dataArray;
}
第一個(gè)是PHPExcelReader,另外一個(gè)是PHPExcel。
PHPExcelReader比較輕量級(jí),僅支持Excel的讀取,實(shí)際上就是一個(gè)Reader。但是可惜的是不能夠支持Excel 2007的格式(.xlsx)。
PHPExcel比較強(qiáng)大,能夠?qū)?nèi)存中的數(shù)據(jù)輸出成Excel文件,同時(shí)還能夠?qū)xcel做各種操作,下面主要介紹下如何使用PHPExcel進(jìn)行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變量就能夠看到文件中的內(nèi)容了。PHPExcel使用PHPExcel_IOFactory這個(gè)類來自動(dòng)匹配所上傳的文件類型,當(dāng)然我們也可以自己制定要解析的文件類型。之后通過load方法,將PHP文件加載到objPHPExcel對(duì)象中。如果Excel文件有多個(gè)Sheet,可以通過setActiveSheetIndex來設(shè)置當(dāng)前活動(dòng)的Sheet。如何通過Sheet名來獲得當(dāng)前Sheet我還不知道,如果有知道的可以站內(nèi)我。
需要注意的是,對(duì)于Excel中的日期格式,PHPExcel讀出來的是不是日期類型,需要我們使用以下方法來進(jìn)行日期類型轉(zhuǎn)換。
echo date("Y-m-d H:i:s",PHPExcel_Shared_Date::ExcelToPHP($date));
下面的代碼顯示了如何遍歷顯示Excel的內(nèi)容:
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,并將結(jié)果寫入mysql
?php
$workbook
=
"D:\\www\\xtwh\\B01\\mysingle.xls";
$sheet
=
"list";
#實(shí)例化一個(gè)組件的對(duì)象
$ex
=
new
COM("Excel.sheet")
or
Die
("Did
not
connect");
#打開工作本使我們可使用它
$wkb
=
$ex-application-Workbooks-Open($workbook)
or
Die
("Did
not
open");
#讀單元格數(shù)據(jù)
$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);
//釋放結(jié)果內(nèi)存資源
mysql_close($mylink);
//
斷開連接
?
php讀取excel,excel下多個(gè)個(gè)工作表的方法:
1、利用PHPExcelReader來完成多個(gè)excel的讀取。
2、PHPExcel比較強(qiáng)大,能夠?qū)?nèi)存中的數(shù)據(jù)輸出成Excel文件,同時(shí)還能夠?qū)xcel做各種操作,下面主要介紹下如何使用PHPExcel進(jìn)行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變量就能夠看到文件中的內(nèi)容了。
當(dāng)前標(biāo)題:php獲取execl數(shù)據(jù),php處理excel表格中的數(shù)據(jù)
文章來源:http://jinyejixie.com/article10/dssohdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、搜索引擎優(yōu)化、網(wǎng)頁設(shè)計(jì)公司、靜態(tài)網(wǎng)站、App設(shè)計(jì)、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)