PHPExcel是一個PHP類庫,用來幫助我們簡單、高效實現從Excel讀取Excel的數據和導出數據到Excel。也是我們日常開發中,經常會遇到的使用場景。比如有個客戶信息表,要批量導出發給同事,我們就可以用PHPExcel來快速實現。同樣,如果我們要利用短信群發接口去群發信息,PHPExcel可以快速導入客戶信息,避免人工錄入信息的麻煩。
PHPExcel使用教程:
首先下載PHPExcel
到https://github.com/PHPOffice/PHPExcel下載PHPExcel,如果不懂得使用git,可以到這https://codeload.github.com/PHPOffice/PHPExcel/zip/1.8下載壓縮包,懂得的自行用git下載。
下載好文件,解壓可以得到如下文件:
PHPExcel
好了,現在我們就可以用PHPExcel愉快的讀取和制作表格了!
PHPExcel DEMO1:利用PHPExcel讀取excel信息:
我們在根目錄創建一個名為read.php的文件來讀取文檔,創建一個test.xlsx的文件,裡面寫的信息如下:
然後在read.php寫以下代碼:
代碼如下復制代碼
<?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(‘加載文件發生錯誤:”‘.pathinfo($inputFileName,PATHINFO_BASENAME).'”: ‘.$e->getMessage());
}
// 確定要讀取的sheet,什麼是sheet,看excel的右下角,真的不懂去百度吧
$sheet=$objPHPExcel->getSheet(0);
$highestRow=$sheet->getHighestRow();
$highestColumn=$sheet->getHighestColumn();
// 獲取一行的數據
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都是一行的數據,得到數據後自行處理,我們這裡只打出來看看效果
var_dump($rowData);
echo“
”;
}
得到的數據:
PHPexcel讀取文件
PHPExcel DEMO2:利用PHPExcel導出信息到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_oncedirname(__FILE__) .'./Classes/PHPExcel.php'
// 創建Excel文件對象
$objPHPExcel=newPHPExcel();
// 設置文檔信息,這個文檔信息windows系統可以右鍵文件屬性查看
$objPHPExcel->getProperties()->setCreator("作者簡慶旺")
->setLastModifiedBy("最後更改者")
->setTitle("文檔標題")
->setSubject("文檔主題")
->setDescription("文檔的描述信息")
->setKeywords("設置文檔關鍵詞")
->setCategory("設置文檔的分類");
//根據excel坐標,添加數據
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1','你好')
->setCellValue('B2','世界')
->setCellValue('C1','你好')
->setCellValue('D2','世界');
// 混雜各種符號, 編碼為UTF-8
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A4','Miscellaneous glyphs')
->setCellValue('A5','éàèùâêîôûëïüÿäöüç');
$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('第一個sheet');
// 設置第一個sheet為工作的sheet
$objPHPExcel->setActiveSheetIndex(0);
// 保存Excel 2007格式文件,保存路徑為當前路徑,名字為export.xlsx
$objWriter= PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
$objWriter->save('export.xlsx');
// 保存Excel 95格式文件,,保存路徑為當前路徑,
$objWriter= PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');
$objWriter->save('export.xls');
好了,執行後我們可以得到export.xls和export.xlsx。
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持本網站!