PHP通過PHPExcel類匯入匯出excel

來源:互聯網
上載者:User

匯出類

PHPExcel類匯出excel,同時對PHPExcel做了些精簡處理,基本上可以滿足資料匯出excel的功能

代碼如下:

<?php

 代碼如下 複製代碼

//載入PHPExcel類
require './phpexcel/PHPExcel.php';

//建立一個excel對象執行個體
$objPHPExcel = new PHPExcel();

//設定文檔基本屬性
$objProps = $objPHPExcel->getProperties();
$objProps->setCreator("Lao Mao");
$objProps->setLastModifiedBy("Lao Mao");
$objProps->setTitle("Office XLS Test Document");
$objProps->setSubject("Office XLS Test Document, Demo");
$objProps->setDescription("Test document, generated by PHPExcel.");
$objProps->setKeywords("office excel PHPExcel");
$objProps->setCategory("Test");

//設定當前的sheet索引,用於後續的內容操作。
//一般只有在使用多個sheet的時候才需要顯示調用。
//預設情況下,PHPExcel會自動建立第一個sheet被設定SheetIndex=0
$objPHPExcel->setActiveSheetIndex(0);

//設定當前活動sheet的名稱
$objActSheet = $objPHPExcel->getActiveSheet();
$objActSheet->setTitle('測試Sheet');

//設定儲存格內容www.111cn.net
//這裡的資料可以從資料庫中讀取,然後再做迴圈處理
$objPHPExcel->getActiveSheet()->SetCellValue('A1', 'a1');
$objPHPExcel->getActiveSheet()->SetCellValue('A2', 'a2');
$objPHPExcel->getActiveSheet()->SetCellValue('A3', 'a3');
$objPHPExcel->getActiveSheet()->SetCellValue('A4', 'a4');
$objPHPExcel->getActiveSheet()->SetCellValue('A5', 'a5');

$objPHPExcel->getActiveSheet()->SetCellValue('B1', 'b1');
$objPHPExcel->getActiveSheet()->SetCellValue('B2', 'b2');
$objPHPExcel->getActiveSheet()->SetCellValue('B3', 'b3');
$objPHPExcel->getActiveSheet()->SetCellValue('B4', 'b4');
$objPHPExcel->getActiveSheet()->SetCellValue('B5', 'b5');

$objPHPExcel->getActiveSheet()->SetCellValue('C1', 'c1');
$objPHPExcel->getActiveSheet()->SetCellValue('C2', 'c2');
$objPHPExcel->getActiveSheet()->SetCellValue('C3', 'c3');
$objPHPExcel->getActiveSheet()->SetCellValue('C4', 'c4');
$objPHPExcel->getActiveSheet()->SetCellValue('C5', 'c5');

//輸出文檔
$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);

//設定header頭部資訊,並輸出到瀏覽器
//header('Content-Type: application/vnd.ms-excel');
//header("Content-Disposition:attachment; filename=demo.xls");
//header('Cache-Control: max-age=0');
//$objWriter->save('php://output');

//儲存至某一位置
$objWriter->save(dirname(__FILE__) . '/demo.xls');


 

匯入excel的方法:

 代碼:

 代碼如下 複製代碼

<?php
//載入PHPExcel類
include(dirname(__FILE__).'/phpexcel/PHPExcel.php');

$Obj = new PHPExcel_Reader_Excel5();
$Obj->setReadDataOnly(true);

//讀取demo.xls檔案
$phpExcel = $Obj->load(dirname(__FILE__).'/output.xls');

//擷取當前活動sheet
$objWorksheet = $phpExcel->getActiveSheet();

//擷取行數
$highestRow = $objWorksheet->getHighestRow();

//擷取列數
$highestColumn = $objWorksheet->getHighestColumn();
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);

//迴圈輸出資料 www.111cn.net
$data = array();
for($row = 1; $row <= $highestRow; ++$row) {
 for($col = 0; $col < $highestColumnIndex; ++$col) {
  $val = $objWorksheet->getCellByColumnAndRow($col, $row)->getValue();
  $data[$row][$col] = trim($val);
 }
}

echo '<pre>';
print_r($data);
echo '</pre>';

但是這種方式有缺陷,老版本的excel有個資料上限,最多65536行資料,這時我們就無法通過excel來實現大資料的匯出, 但我估計也沒幾個有這麼我資料吧,當然如果有可以考慮使用csv來操作

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.