天天看點

PHPExcel讀取Excel的資料和導出資料到Excel

首先下載下傳PHPExcel

到https://github.com/PHPOffice/PHPExcel下載下傳PHPExcel,如果不懂得使用git,可以到這https://codeload.github.com/PHPOffice/PHPExcel/zip/1.8下載下傳壓縮包,懂得的自行用git下載下傳。

下載下傳好檔案,解壓可以得到如下檔案:

PHPExcel讀取Excel的資料和導出資料到Excel

PHPExcel

好了,現在我們就可以用PHPExcel愉快的讀取和制作表格了!

PHPExcel DEMO1:利用PHPExcel讀取excel資訊:

我們在根目錄建立一個名為read.php的檔案來讀取文檔,建立一個test.xlsx的檔案,裡面寫的資訊如下:

PHPExcel讀取Excel的資料和導出資料到Excel

然後在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 “<br>”;
}
           

得到的資料:

PHPExcel讀取Excel的資料和導出資料到Excel

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_once dirname(__FILE__) . './Classes/PHPExcel.php';
 
// 建立Excel檔案對象
$objPHPExcel = new PHPExcel();
// 設定文檔資訊,這個文檔資訊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。

繼續閱讀