PHPExcel讀取Excel文件的實(shí)現(xiàn)代碼
更新時(shí)間:2011年12月06日 01:21:31 作者:
用PHPExcel讀取Excel 2007 或者Excel2003文件,需要的朋友,可以參考下。
涉及知識點(diǎn):
php對excel文件進(jìn)行循環(huán)讀取
php對字符進(jìn)行ascii編碼轉(zhuǎn)化,將字符轉(zhuǎn)為十進(jìn)制數(shù)
php對excel日期格式讀取,并進(jìn)行顯示轉(zhuǎn)化
php對漢字亂碼進(jìn)行編碼轉(zhuǎn)化
<?php
require_once 'PHPExcel.php';
/**對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,若格式不對,則用之前的版本進(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);
/**取得最大的列號*/
$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文件進(jìn)行循環(huán)讀取
php對字符進(jìn)行ascii編碼轉(zhuǎn)化,將字符轉(zhuǎn)為十進(jìn)制數(shù)
php對excel日期格式讀取,并進(jìn)行顯示轉(zhuǎn)化
php對漢字亂碼進(jìn)行編碼轉(zhuǎn)化
復(fù)制代碼 代碼如下:
<?php
require_once 'PHPExcel.php';
/**對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,若格式不對,則用之前的版本進(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);
/**取得最大的列號*/
$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ò)展庫)
- 利用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文件的簡單方法
- 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ù)庫示例
- 基于PHPExcel的常用方法總結(jié)
- PHP使用PhpSpreadsheet操作Excel實(shí)例詳解
相關(guān)文章
在win系統(tǒng)安裝配置 Memcached for PHP 5.3 圖文教程
這篇文章主要介紹了在win系統(tǒng)安裝配置 Memcached for PHP 5.3 圖文教程,需要的朋友可以參考下2015-03-03php函數(shù)mkdir實(shí)現(xiàn)遞歸創(chuàng)建層級目錄
當(dāng)我們想在自己的站點(diǎn)中添加多級目錄時(shí),可以運(yùn)用php函數(shù)mkdir()來實(shí)現(xiàn)這個(gè)功能。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-10-10ajax php傳遞和接收變量實(shí)現(xiàn)思路及代碼
在實(shí)際應(yīng)用中會遇到這種情況:ajax與php之間傳遞和接收變量,為了實(shí)現(xiàn)這一功能應(yīng)用,很多新手朋友們,只能望洋興嘆啊,于是本人搜集整理一些實(shí)用技巧,曬出來和大家分享,希望可以幫助你們2012-12-12用 Composer構(gòu)建自己的 PHP 框架之構(gòu)建路由
本文是構(gòu)建自己的php框架的第二篇,主要為大家來講述如何構(gòu)建路由,非常的詳細(xì),也很易懂,有需要的朋友可以參考下2014-10-10phpstudy2018升級MySQL5.5為5.7教程(圖文)
這篇文章主要介紹了phpstudy2018升級MySQL5.5為5.7教程(圖文),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10Laravel框架實(shí)現(xiàn)利用中間件進(jìn)行操作日志記錄功能
這篇文章主要介紹了Laravel框架實(shí)現(xiàn)利用中間件進(jìn)行操作日志記錄功能,結(jié)合實(shí)例形式分析了Laravel框架中間件的創(chuàng)建、引入以及使用中間件進(jìn)行操作日志記錄功能的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-06-06php求正負(fù)數(shù)數(shù)組中連續(xù)元素最大值示例
問題是給出數(shù)組,該數(shù)組由正負(fù)數(shù)字組成,找出該數(shù)組中連續(xù)元素組成的子數(shù)組的最大值。下面是PHP實(shí)現(xiàn)的示例,需要的朋友可以參考下2014-04-04