PHPExcel 簡單使用

2021-07-16 04:30:54 字數 2450 閱讀 5066

require_once 'phpexcel.php';

$phpreader = new phpexcel_reader_excel2007();

$filepath = 'wjyl.xlsx';

if(!$phpreader->canread($filepath))

$phpexcel = $phpreader->load($filepath);//讀取excel檔案

$sheetcount = $phpexcel->getsheetcount();//獲取工作表的數目

for($s = 0; $s < $sheetcount; $s++)

echo "

";

}}echo 'well done!!!';

exit;

/**如果輸出漢字有亂碼,則需將輸出內容用iconv函式進行編碼轉換,如下將gb2312編碼轉為utf-8編碼輸出*/

//echo iconv('utf-8','gb2312', $val);

當excel表的總列數超過了26的時候,也就是超過了z的時候,再繼續增加就上公升為aa,ab,ac......az格式,在這種情況下,上面程式碼在列迴圈只會迴圈第乙個a。

了解字母比較:

字母的比較,實際上是字母在ascii表中所對應的10進製數字大小的比較,例如a 的 ascii表中十進位制對應數字為65,z的為90;

echo

ord('a');//

65echo

ord('z');//

90

比較規則:

a與ab比較,首先,a與ab中的a比較,由於相等,則跳過a,繼續與b比較,得出

echo 'a' < 'ab' ? 1 : 0;//

1

a與aa比較,先進行字母逐個比較,當每個都相等的情況下,最後進行字串的長度對比,得出

echo 'a' < 'aa' ? 1 : 0;//

1

a與ba比較,首先a與b比較,a小於b,得出結果

echo 'a' < 'ba' ? 1 : 0;//

1

得出結果:

例如上面最後一列為ap,a首先會與allrow中的第乙個字母進行比較,相同字母跳過,再與第二個字母比較,aa,所以第乙個字母判斷就不成立,退出迴圈。

解決辦法:

$columnarr = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','aa','ab','ac','ad','ae','af','ag','ah','ai','aj','ak','al','am','an','ao','ap');

for($currentrow = 2;$currentrow <= $allrow;$currentrow++)

echo "

"; }

解決辦法的原理就是能夠確保列的迴圈能夠順利的進行,上面固定列出來陣列只是方便理解,具體操作可以對$allcloumn進行處理動態獲取列的相關資料。

匯入來的excel表裡面若存在日期資料,獲取到的結果竟然是一串數字,原來phpexcel中用乙個距離2023年的天數序列記錄時間 1900-01-01 為整數1900-01-02為整數2,以次類推。我們知道,在windows的php中只支援1970-2023年時間計算,那怎麼才能讓它變成正常的日期呢,其中phpexcel原本就有提供乙個日期處理的方法的。

$value = date("y-m-d", phpexcel_shared_date::exceltophp($value));

下面是一段簡單的excel匯出function

/**

* 匯出excel檔案資料

* @param $table_header

* @param $data

*/function export_excel_data($table_header, $data, $type=0)

//填充**資訊

for ($i = 2;$i <= count($data)+1;$i++)

}//建立excel輸入物件

$file_name = date("ymdhi").".xlsx";

$write = new phpexcel_writer_excel2007($excel);

if($type)

}

匯出小技巧,若匯出的資料裡面有數字,而且數字數值比較大,一般情況下excel會將大數字轉換成科學記數法方法顯示,若想直接儲存數字字串,只需要在數字後面連線上乙個空格字串就可以了。例如  $value = '12345'.' ';

使用PHPexcel注意

1.使用phpexcel建立excel文件物件有2種。一種是直接建立 include phpexcel writer excel2007.php objphpexcel new phpexcel 另外一種是通過reader類進行讀取建立 require phpexcel reader excel20...

thinkphp中使用PHPEXCEL匯入資料

匯入方法比較簡單 但必須考慮到excel本身單元格格式問題 例如以0開頭的字串讀出來被去掉了前導0 成為float型而丟失一位 必須進行處理 author lizhaoyao add time 2015 08 26 php excel import 使用者匯入excel param type fil...

使用PHPExcel讀取寫入Excel檔案資料

首先是讀取excel 引入phpexcel類檔案 require once phpexcel 1.8 classes phpexcel.php require once phpexcel 1.8 classes phpexcel writer excel2007.php 建立新物件,並開啟資料檔案 ...