利用PHPExcel讀取Excel的數(shù)據(jù)和導(dǎo)出數(shù)據(jù)到Excel
PHPExcel是一個(gè)PHP類(lèi)庫(kù),用來(lái)幫助我們簡(jiǎn)單、高效實(shí)現(xiàn)從Excel讀取Excel的數(shù)據(jù)和導(dǎo)出數(shù)據(jù)到Excel。也是我們?nèi)粘i_(kāi)發(fā)中,經(jīng)常會(huì)遇到的使用場(chǎng)景。比如有個(gè)客戶(hù)信息表,要批量導(dǎo)出發(fā)給同事,我們就可以用PHPExcel來(lái)快速實(shí)現(xiàn)。同樣,PHPExcel可以快速導(dǎo)入客戶(hù)信息,避免人工錄入信息的麻煩。
PHPExcel使用教程:
首先下載PHPExcel
到https://github.com/PHPOffice/PHPExcel下載PHPExcel,如果不懂得使用git,可以到這https://codeload.github.com/PHPOffice/PHPExcel/zip/1.8下載壓縮包,懂得的自行用git下載。
下載好文件,解壓可以得到如下文件:

PHPExcel
好了,現(xiàn)在我們就可以用PHPExcel愉快的讀取和制作表格了!
PHPExcel DEMO1:利用PHPExcel讀取excel信息:
我們?cè)诟夸泟?chuàng)建一個(gè)名為read.php的文件來(lái)讀取文檔,創(chuàng)建一個(gè)test.xlsx的文件,里面寫(xiě)的信息如下:

然后在read.php寫(xiě)以下代碼:
<?php
include ‘./Classes/PHPExcel/IOFactory.php';
$inputFileName = ‘./test.xls';
date_default_timezone_set(‘PRC');
// 讀取excel文件
try {
$inputFileType = PHPExcel_IOFactory::identify($inputFileName);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);
} catch(Exception $e) {
die(‘加載文件發(fā)生錯(cuò)誤:”‘.pathinfo($inputFileName,PATHINFO_BASENAME).'”: ‘.$e->getMessage());
}
// 確定要讀取的sheet,什么是sheet,看excel的右下角,真的不懂去百度吧
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
// 獲取一行的數(shù)據(jù)
for ($row = 1; $row <= $highestRow; $row++){
// Read a row of data into an array
$rowData = $sheet->rangeToArray(‘A' . $row . ‘:' . $highestColumn . $row, NULL, TRUE, FALSE);
//這里得到的rowData都是一行的數(shù)據(jù),得到數(shù)據(jù)后自行處理,我們這里只打出來(lái)看看效果
var_dump($rowData);
echo “<br>”;
}得到的數(shù)據(jù):

PHPexcel讀取文件
PHPExcel DEMO2:利用PHPExcel導(dǎo)出信息到excel:
<?php
/** Error reporting */
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
date_default_timezone_set('PRC');
/** 引入PHPExcel */
require_once dirname(__FILE__) . './Classes/PHPExcel.php';
// 創(chuàng)建Excel文件對(duì)象
$objPHPExcel = new PHPExcel();
// 設(shè)置文檔信息,這個(gè)文檔信息windows系統(tǒng)可以右鍵文件屬性查看
$objPHPExcel->getProperties()->setCreator("作者簡(jiǎn)慶旺")
->setLastModifiedBy("最后更改者")
->setTitle("文檔標(biāo)題")
->setSubject("文檔主題")
->setDescription("文檔的描述信息")
->setKeywords("設(shè)置文檔關(guān)鍵詞")
->setCategory("設(shè)置文檔的分類(lèi)");
//根據(jù)excel坐標(biāo),添加數(shù)據(jù)
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', '你好')
->setCellValue('B2', '世界')
->setCellValue('C1', '你好')
->setCellValue('D2', '世界');
// 混雜各種符號(hào), 編碼為UTF-8
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A4', 'Miscellaneous glyphs')
->setCellValue('A5', 'éàèùaê?????ü???ü?');
$objPHPExcel->getActiveSheet()->setCellValue('A8',"你好世界");
$objPHPExcel->getActiveSheet()->getRowDimension(8)->setRowHeight(-1);
$objPHPExcel->getActiveSheet()->getStyle('A8')->getAlignment()->setWrapText(true);
$value = "-ValueA\n-Value B\n-Value C";
$objPHPExcel->getActiveSheet()->setCellValue('A10', $value);
$objPHPExcel->getActiveSheet()->getRowDimension(10)->setRowHeight(-1);
$objPHPExcel->getActiveSheet()->getStyle('A10')->getAlignment()->setWrapText(true);
$objPHPExcel->getActiveSheet()->getStyle('A10')->setQuotePrefix(true);
// 重命名工作sheet
$objPHPExcel->getActiveSheet()->setTitle('第一個(gè)sheet');
// 設(shè)置第一個(gè)sheet為工作的sheet
$objPHPExcel->setActiveSheetIndex(0);
// 保存Excel 2007格式文件,保存路徑為當(dāng)前路徑,名字為export.xlsx
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save( 'export.xlsx');
// 保存Excel 95格式文件,,保存路徑為當(dāng)前路徑,
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('export.xls');好了,執(zhí)行后我們可以得到export.xls和export.xlsx。
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
PHP操作Redis數(shù)據(jù)庫(kù)常用方法示例
這篇文章主要介紹了PHP操作Redis數(shù)據(jù)庫(kù)常用方法,結(jié)合實(shí)例形式總結(jié)分析了php針對(duì)redis數(shù)據(jù)庫(kù)連接、字符串、列表、hash字典、set集合等數(shù)據(jù)類(lèi)型相關(guān)操作技巧,需要的朋友可以參考下2018-08-08
Yii2框架實(shí)現(xiàn)注冊(cè)和登錄教程
這篇文章主要介紹了Yii2框架實(shí)現(xiàn)注冊(cè)和登錄教程的相關(guān)資料,需要的朋友可以參考下2016-09-09
php str_replace替換指定次數(shù)的方法詳解
本篇文章主要介紹了php str_replace替換指定次數(shù)的方法,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-05-05
PHP實(shí)現(xiàn)二維數(shù)組按照指定的字段進(jìn)行排序算法示例
這篇文章主要介紹了PHP實(shí)現(xiàn)二維數(shù)組按照指定的字段進(jìn)行排序算法,涉及php針對(duì)數(shù)組的遍歷、排序等相關(guān)操作技巧,需要的朋友可以參考下2019-04-04
PHP Laravel軟刪除的實(shí)現(xiàn)方法介紹
軟刪除就是邏輯刪除,數(shù)據(jù)保留單標(biāo)記上刪除狀態(tài),一般我們會(huì)用刪除時(shí)間來(lái)作為標(biāo)記,這樣標(biāo)記狀態(tài)有了,刪除時(shí)間也有了2022-09-09
PHP下打開(kāi)phpMyAdmin出現(xiàn)403錯(cuò)誤的問(wèn)題解決方法
PHP下打開(kāi)phpMyAdmin出現(xiàn)403錯(cuò)誤的問(wèn)題解決方法,需要的朋友可以參考一下2013-05-05
解析關(guān)于wamp啟動(dòng)是80端口被占用的問(wèn)題
本篇文章是對(duì)關(guān)于wamp啟動(dòng)是80端口被占用的問(wèn)題(win7系統(tǒng)下WAMP 80端口被Microsoft-HTTPAPI/2.0占用的解決辦法)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06

