【慢牛源码】【微擎支付源码】【影视电视app源码】php导入excel源码_php实现excel导入

时间:2024-12-23 03:40:25 分类:thinkphp免费源码 来源:分类目录网站源码

1.基于php中使用excel的简单介绍
2.php生成excel完整实例代码
3.PHP如何导入导出Excel

php导入excel源码_php实现excel导入

基于php中使用excel的简单介绍

       åœ¨å·¥ä½œä¸­éœ€è¦å¤„理多语言的翻译问题,翻译都是写在excel表格里面。为了处理方便我就保留中文和英文两列。

       è¿™æ ·éœ€è¦å°†è¿™äº›æ•°æ®ä»Žexcel中取出来,然乎保存在excel的数组中,通过使用循环数组将相应的数据放入到数据库中。

       æ‰€ä»¥å·¥ä½œçš„第一步就是要将数据从excel中取出来。这里我使用到了一个开源php处理excel类:phpexcel. 

       è¯¥é¡¹ç›®çš„详细信息

       /

       ã€‚

       æˆ‘目前使用的是phpexcel1.7.3版本,导导入

       è§£åŽ‹ç¼©åŽé‡Œé¢æœ‰ä¸€ä¸ªPHPExcel和PHPExcel.php文件。

       æˆ‘们主要使用那个PHP文件。见下图文件目录结构

       è¿™ä¸ªç‰ˆæœ¬æ®è¯´æ˜¯å¯ä»¥æ”¯æŒexcel,但是我使用编辑的xlsx是无法获得该库的支持。于是乎我就将它转化为。感觉支持地很好。

       ä¸‹é¢ä»‹ç»ä¸€ä¸‹å…·ä½“的使用:

       å¤åˆ¶ä»£ç 

       ä»£ç å¦‚下:

       require_once('./phpexcel1.7.3/PHPExcel.php');

       $php_excel_obj

       =

       new

       PHPExcel();

       $php_reader

       =

       newPHPExcel_Reader_Excel();

       if(!$php_reader->canRead($file_name)){

             

       $php_reader=

       new

       PHPExcel_Reader_Excel5();

             

       if(!$php_reader->canRead($file_name)){

                    

       echo'NO

       Excel!';

             

       }

       }

       $php_excel_obj

       =

       $php_reader->load($file_name);

       $current_sheet

       =$php_excel_obj->getSheet(0);

       ä¸Šé¢çš„主要功能是初始化相关的excel类,并装载excel第一个sheet

       å¤åˆ¶ä»£ç 

       ä»£ç å¦‚下:

       $all_column

       =$current_sheet->getHighestColumn();

       $all_row

       =$current_sheet->getHighestRow();

       ä»¥ä¸Šåˆ†åˆ«èŽ·å¾—该表格的最大列值(字母表示如:‘G'),和最大的行数(数值表示)

       ä¸‹é¢å°†ä½¿ç”¨å¾ªçŽ¯æ¥è®²excel里面的数据读到excel中:

       å¤åˆ¶ä»£ç 

       ä»£ç å¦‚下:

       $all_arr

       =

       array();

       $c_arr

       =

       array();

       //字符对照表

       for($r_i

       =

       1;

       $r_i<=$all_row;

       $r_i++){

             

       $c_arr=

       array();

             

       for($c_i=

       'A';

       $c_i<=

       'B';

       $c_i++){

                    

       $adr=

       $c_i

       .

       $r_i;

                    

       $value=

       $current_sheet->getCell($adr)->getValue();

                    

       if($c_i==

       'A'

       &&

       empty($value)

       ) 

       break;

                    

       if(is_object($value)) 

       $value=

       $value->__toString();

                    

       $c_arr[$c_i]=

       $value;

             

       }

             

       $c_arr&&

       $all_arr[]

       = 

       $c_arr;

       }

       ä¸‹é¢ç®€å•åœ°ä»‹ç»ä¸€ä¸‹phpexcel的写操作,这个操作经常用于将数据库中的数据导入到excel中,便于展示和做成更美观的效果。

       å¤åˆ¶ä»£ç 

       ä»£ç å¦‚下:

       require_once('./phpexcel1.7.3/PHPExcel.php');

       $excel_obj

       =

       new

       PHPExcel();

       $objWriter

       =

       newPHPExcel_Writer_Excel5($excel_obj);

       $excel_obj->setActiveSheetIndex(0);

       $act_sheet_obj=$excel_obj->getActiveSheet();

       $act_sheet_obj->setTitle('sheet');

       $act_sheet_obj->setCellValue('A1',

       '字符串内容');

       $act_sheet_obj->setCellValue('A2',

       );

       $file_name

       =

       "output.xls";

       $objWriter->save($file_name);

       ä»£ç å¾ˆç®€å•ï¼Œ

       é¦–先初始化相关的excel写类,然后写入数据,最后保存为xls文件。

       è¾“出的效果见图

        

php生成excel完整实例代码

       下载phpexcel类库 代码如下:

       <?php

        require_once('PHPExcel.php');

        require_once('PHPExcel/IOFactory.php');

        $objPHPExcel=new PHPExcel();

        $iofactory=new IOFactory();

        //获得数据 ---一般是从数据库中获得数据

        $data=array(

        0=>array('id'=>,'name'=>'张某某','age'=>),

        1=>array('id'=>,'name'=>'EVA','age'=>)

        );

        //设置excel列名

        $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1','编号');

        $objPHPExcel->setActiveSheetIndex(0)->setCellValue('B1','姓名');

        $objPHPExcel->setActiveSheetIndex(0)->setCellValue('C1','年龄');

        //把数据循环写入excel中

        foreach($data as $key => $value){

        $key+=2;

        $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$key,$value['id']);

        $objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$key,$value['name']);

        $objPHPExcel->setActiveSheetIndex(0)->setCellValue('C'.$key,$value['age']);

        }

        //excel保存在根目录下 如要导出文件,以下改为注释代码

        $objPHPExcel->getActiveSheet() -> setTitle('SetExcelName');

        $objPHPExcel-> setActiveSheetIndex(0);

        $objWriter = $iofactory -> createWriter($objPHPExcel,源码慢牛源码 'Excel');

        $objWriter -> save('SetExcelName.xlsx');

        //导出代码

        // $objPHPExcel->getActiveSheet() -> setTitle('SetExcelName');

        // $objPHPExcel-> setActiveSheetIndex(0);

        // $objWriter = $iofactory -> createWriter($objPHPExcel, 'Excel');

        // $filename = 'SetExcelName.xlsx';

        // header('Content-Type: application/vnd.ms-excel');

        // header('Content-Type: application/octet-stream');

        // header('Content-Disposition: attachment; filename="' . $filename . '"');

        // header('Cache-Control: max-age=0');

        // $objWriter -> save('php://output');

>

PHP如何导入导出Excel

       å¯¼å…¥å¯¼å‡ºéƒ½æˆï¼Œå¯ä»¥å¯¼å‡ºoffice格式,同时兼容。

       ä¸‹è½½ä¸‹æ¥çš„包中有文档和例子,大家可以自行研究。

       æŠ„段例子出来:

       PHP代码

       <?php

       /**

       * PHPExcel

       *

       * Copyright (C) - PHPExcel

       *

       * This library is free software; you can redistribute it and/or

       * modify it under the terms of the GNU Lesser General Public

       * License as published by the Free Software Foundation; either

       * version 2.1 of the License, or (at your option) any later version.

       *

       * This library is distributed in the hope that it will be useful,

       * but WITHOUT ANY WARRANTY; without even the implied warranty of

       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU

       * Lesser General Public License for more details.

       *

       * You should have received a copy of the GNU Lesser General Public

       * License along with this library; if not, write to the Free Software

       * Foundation, Inc., Franklin Street, Fifth Floor, Boston, MA - USA

       *

       * @category PHPExcel

       * @package PHPExcel

       * @copyright Copyright (c) - PHPExcel

       * @license

       * @version 1.5.0, --

       */

       /** Error reporting */

       error_reporting(E_ALL);

       /** Include path **/

       set_include_path(get_include_path() . PATH_SEPARATOR . ‘../Classes/’);

       /** PHPExcel */

       include ‘PHPExcel.php’;

       /** PHPExcel_Writer_Excel */

       include ‘PHPExcel/Writer/Excel.php’;

       // Create new PHPExcel object

       echo date(’H:i:s’) . ” Create new PHPExcel object\n”;

       $objPHPExcel = new PHPExcel();

       // Set properties

       echo date(’H:i:s’) . ” Set properties\n”;

       $objPHPExcel->getProperties()->setCreator(”Maarten Balliauw”);

       $objPHPExcel->getProperties()->setLastModifiedBy(”Maarten Balliauw”);

       $objPHPExcel->getProperties()->setTitle(”Office XLSX Test Document”);

       $objPHPExcel->getProperties()->setSubject(”Office XLSX Test Document”);

       $objPHPExcel->getProperties()->setDescrÄ«ption(”Test document for Office XLSX, generated using PHP classes.”);

       $objPHPExcel->getProperties()->setKeywords(”office openxml php”);

       $objPHPExcel->getProperties()->setCategory(”Test result file”);

       // Add some data

       echo date(’H:i:s’) . ” Add some data\n”;

       $objPHPExcel->setActiveSheetIndex(0);

       $objPHPExcel->getActiveSheet()->setCellValue(’A1′, ‘Hello’);

       $objPHPExcel->getActiveSheet()->setCellValue(’B2′, ‘world!’);

       $objPHPExcel->getActiveSheet()->setCellValue(’C1′, ‘Hello’);

       $objPHPExcel->getActiveSheet()->setCellValue(’D2′, ‘world!’);

       // Rename sheet

       echo date(’H:i:s’) . ” Rename sheet\n”;

       $objPHPExcel->getActiveSheet()->setTitle(’Simple’);

       // Set active sheet index to the first sheet, so Excel opens this as the first sheet

       $objPHPExcel->setActiveSheetIndex(0);

       // Save Excel file

       echo date(’H:i:s’) . ” Write to Excel format\n”;

       $objWriter = new PHPExcel_Writer_Excel($objPHPExcel);

       $objWriter->save(str_replace(’.php’, ‘.xlsx’, __FILE__));

       // Echo done

       echo date(’H:i:s’) . ” Done writing file.\r\n”;