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

