利用PHPExcel讀取Excel的數(shù)據(jù)和導(dǎo)出數(shù)據(jù)到Excel
PHPExcel是一個(gè)PHP類庫(kù),用來(lái)幫助我們簡(jiǎn)單、高效實(shí)現(xiàn)從Excel讀取Excel的數(shù)據(jù)和導(dǎo)出數(shù)據(jù)到Excel。也是我們?nèi)粘i_發(fā)中,經(jīng)常會(huì)遇到的使用場(chǎng)景。比如有個(gè)客戶信息表,要批量導(dǎo)出發(fā)給同事,我們就可以用PHPExcel來(lái)快速實(shí)現(xiàn)。同樣,PHPExcel可以快速導(dǎo)入客戶信息,避免人工錄入信息的麻煩。
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的文件,里面寫的信息如下:
然后在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(‘加載文件發(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è)置文檔的分類"); //根據(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版阿里大于(阿里大魚)短信發(fā)送實(shí)例詳解
這篇文章主要介紹了php版阿里大于(阿里大魚)短信發(fā)送實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了阿里大于短信發(fā)送接口的配置與使用技巧,需要的朋友可以參考下2016-11-11php中substr()函數(shù)參數(shù)說明及用法實(shí)例
這篇文章主要介紹了php中substr()函數(shù)參數(shù)說明及用法,以實(shí)例形式深入分析了substr()函數(shù)中的各個(gè)參數(shù)的含義,并舉例說明了其對(duì)應(yīng)的用法,需要的朋友可以參考下2014-11-11PHP實(shí)現(xiàn)將Word文件保存到SQL Server數(shù)據(jù)庫(kù)
這篇文章主要介紹了如何利用PHP實(shí)現(xiàn)將上傳的Word文件保存到SQL Server數(shù)據(jù)庫(kù),文中的示例代碼講解詳細(xì),需要的可以參考一下2022-02-02