PHPExcel讀取Excel文件的實(shí)現(xiàn)代碼
更新時(shí)間:2011年12月06日 01:21:31 作者:
用PHPExcel讀取Excel 2007 或者Excel2003文件,需要的朋友,可以參考下。
涉及知識(shí)點(diǎn):
php對(duì)excel文件進(jìn)行循環(huán)讀取
php對(duì)字符進(jìn)行ascii編碼轉(zhuǎn)化,將字符轉(zhuǎn)為十進(jìn)制數(shù)
php對(duì)excel日期格式讀取,并進(jìn)行顯示轉(zhuǎn)化
php對(duì)漢字亂碼進(jìn)行編碼轉(zhuǎn)化
<?php
require_once 'PHPExcel.php';
/**對(duì)excel里的日期進(jìn)行格式轉(zhuǎn)化*/
function GetData($val){
$jd = GregorianToJD(1, 1, 1970);
$gregorian = JDToGregorian($jd+intval($val)-25569);
return $gregorian;/**顯示格式為 “月/日/年” */
}
$filePath = 'test.xlsx';
$PHPExcel = new PHPExcel();
/**默認(rèn)用excel2007讀取excel,若格式不對(duì),則用之前的版本進(jìn)行讀取*/
$PHPReader = new PHPExcel_Reader_Excel2007();
if(!$PHPReader->canRead($filePath)){
$PHPReader = new PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($filePath)){
echo 'no Excel';
return ;
}
}
$PHPExcel = $PHPReader->load($filePath);
/**讀取excel文件中的第一個(gè)工作表*/
$currentSheet = $PHPExcel->getSheet(0);
/**取得最大的列號(hào)*/
$allColumn = $currentSheet->getHighestColumn();
/**取得一共有多少行*/
$allRow = $currentSheet->getHighestRow();
/**從第二行開始輸出,因?yàn)閑xcel表中第一行為列名*/
for($currentRow = 2;$currentRow <= $allRow;$currentRow++){
/**從第A列開始輸出*/
for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){
$val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow)->getValue();/**ord()將字符轉(zhuǎn)為十進(jìn)制數(shù)*/
if($currentColumn == 'A')
{
echo GetData($val)."\t";
}else{
//echo $val;
/**如果輸出漢字有亂碼,則需將輸出內(nèi)容用iconv函數(shù)進(jìn)行編碼轉(zhuǎn)換,如下將gb2312編碼轉(zhuǎn)為utf-8編碼輸出*/
echo iconv('utf-8','gb2312', $val)."\t";
}
}
echo "</br>";
}
echo "\n";
?>
php對(duì)excel文件進(jìn)行循環(huán)讀取
php對(duì)字符進(jìn)行ascii編碼轉(zhuǎn)化,將字符轉(zhuǎn)為十進(jìn)制數(shù)
php對(duì)excel日期格式讀取,并進(jìn)行顯示轉(zhuǎn)化
php對(duì)漢字亂碼進(jìn)行編碼轉(zhuǎn)化
復(fù)制代碼 代碼如下:
<?php
require_once 'PHPExcel.php';
/**對(duì)excel里的日期進(jìn)行格式轉(zhuǎn)化*/
function GetData($val){
$jd = GregorianToJD(1, 1, 1970);
$gregorian = JDToGregorian($jd+intval($val)-25569);
return $gregorian;/**顯示格式為 “月/日/年” */
}
$filePath = 'test.xlsx';
$PHPExcel = new PHPExcel();
/**默認(rèn)用excel2007讀取excel,若格式不對(duì),則用之前的版本進(jìn)行讀取*/
$PHPReader = new PHPExcel_Reader_Excel2007();
if(!$PHPReader->canRead($filePath)){
$PHPReader = new PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($filePath)){
echo 'no Excel';
return ;
}
}
$PHPExcel = $PHPReader->load($filePath);
/**讀取excel文件中的第一個(gè)工作表*/
$currentSheet = $PHPExcel->getSheet(0);
/**取得最大的列號(hào)*/
$allColumn = $currentSheet->getHighestColumn();
/**取得一共有多少行*/
$allRow = $currentSheet->getHighestRow();
/**從第二行開始輸出,因?yàn)閑xcel表中第一行為列名*/
for($currentRow = 2;$currentRow <= $allRow;$currentRow++){
/**從第A列開始輸出*/
for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){
$val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow)->getValue();/**ord()將字符轉(zhuǎn)為十進(jìn)制數(shù)*/
if($currentColumn == 'A')
{
echo GetData($val)."\t";
}else{
//echo $val;
/**如果輸出漢字有亂碼,則需將輸出內(nèi)容用iconv函數(shù)進(jìn)行編碼轉(zhuǎn)換,如下將gb2312編碼轉(zhuǎn)為utf-8編碼輸出*/
echo iconv('utf-8','gb2312', $val)."\t";
}
}
echo "</br>";
}
echo "\n";
?>
您可能感興趣的文章:
- PHP讀取Excel內(nèi)的圖片(phpspreadsheet和PHPExcel擴(kuò)展庫(kù))
- 利用phpExcel實(shí)現(xiàn)Excel數(shù)據(jù)的導(dǎo)入導(dǎo)出(全步驟詳細(xì)解析)
- PHP導(dǎo)入Excel到MySQL的方法
- php讀取EXCEL文件 php excelreader讀取excel文件
- php導(dǎo)入導(dǎo)出excel實(shí)例
- ThinkPHP使用PHPExcel實(shí)現(xiàn)Excel數(shù)據(jù)導(dǎo)入導(dǎo)出完整實(shí)例
- php中使用PHPExcel讀寫excel(xls)文件的方法
- php生成excel文件的簡(jiǎn)單方法
- phpExcel導(dǎo)出大量數(shù)據(jù)出現(xiàn)內(nèi)存溢出錯(cuò)誤的解決方法
- php中導(dǎo)出數(shù)據(jù)到excel時(shí)數(shù)字變?yōu)榭茖W(xué)計(jì)數(shù)的解決方法
- PHP上傳Excel文件導(dǎo)入數(shù)據(jù)到MySQL數(shù)據(jù)庫(kù)示例
- 基于PHPExcel的常用方法總結(jié)
- PHP使用PhpSpreadsheet操作Excel實(shí)例詳解
相關(guān)文章
Laravel6.0.4中將添加計(jì)劃任務(wù)事件的方法步驟
此版本包括計(jì)劃任務(wù)事件、新的 JSON 斷言方法和所有最新更改。這篇文章主要介紹了Laravel6.0.4中將添加計(jì)劃任務(wù)事件的方法步驟,感興趣的可以了解一下2019-10-10
laravel框架 laravel-admin上傳圖片到oss的方法
今天小編就為大家分享一篇laravel框架 laravel-admin上傳圖片到oss的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10
PHP+ajaxfileupload+jcrop插件完美實(shí)現(xiàn)頭像上傳剪裁
在做項(xiàng)目的時(shí)候,經(jīng)常需要一些會(huì)員系統(tǒng)相關(guān)的內(nèi)容,比如頭像的上傳與裁剪等等,下面將這塊內(nèi)容分享給大家2014-06-06
PHP中的魔術(shù)方法總結(jié)和使用實(shí)例
這篇文章主要介紹了PHP中的魔術(shù)方法總結(jié)和使用實(shí)例,魔術(shù)方法是PHP面向?qū)ο笾刑赜械奶匦?它們?cè)谔囟ǖ那闆r下被觸發(fā),都是以雙下劃線開頭,你可以把它們理解為鉤子,需要的朋友可以參考下2015-05-05
PHP二維數(shù)組排序的3種方法和自定義函數(shù)分享
這篇文章主要介紹了PHP二維數(shù)組排序的3種方法和自定義函數(shù)分享,需要的朋友可以參考下2014-04-04
Symfony學(xué)習(xí)十分鐘入門經(jīng)典教程
這篇文章主要介紹了Symfony學(xué)習(xí)十分鐘入門教程,詳細(xì)介紹了Symfony的安裝配置,項(xiàng)目初始化,建立Bundle,設(shè)計(jì)實(shí)體,添加約束,增刪改查等基本操作技巧,需要的朋友可以參考下2016-02-02
swoole和websocket簡(jiǎn)單聊天室開發(fā)
這篇文章主要為大家詳細(xì)介紹了swoole和websocket簡(jiǎn)單聊天室開發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11

