php

位置:IT落伍者 >> php >> 浏览文章

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


发布日期:2019年11月16日
 
基于php中使用excel的简单介绍
我目前使用的是phpexcel版本 解压缩后里面有一个PHPExcel和PHPExcelphp文件我们主要使用那个PHP文件见下图文件目录结构

在工作中需要处理多语言的翻译问题翻译都是写在excel表格里面为了处理方便我就保留中文和英文两列

这样需要将这些数据从excel中取出来然乎保存在excel的数组中通过使用循环数组将相应的数据放入到数据库中

所以工作的第一步就是要将数据从excel中取出来这里我使用到了一个开源php处理excel类phpexcel 该项目的详细信息

我目前使用的是phpexcel版本 解压缩后里面有一个PHPExcel和PHPExcelphp文件
我们主要使用那个PHP文件见下图文件目录结构



这个版本据说是可以支持excel但是我使用编辑的xlsx是无法获得该库的支持于是乎我就将它转化为感觉支持地很好

下面介绍一下具体的使用

复制代码 代码如下:
require_once(/phpexcel/PHPExcelphp);
$php_excel_obj = new PHPExcel();
$php_reader = newPHPExcel_Reader_Excel();
if(!$php_reader>canRead($file_name)){
$php_reader= new PHPExcel_Reader_Excel();
if(!$php_reader>canRead($file_name)){
echoNO Excel!;
}
}
$php_excel_obj = $php_reader>load($file_name);
$current_sheet =$php_excel_obj>getSheet();


上面的主要功能是初始化相关的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 = ; $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(/phpexcel/PHPExcelphp);
$excel_obj = new PHPExcel();
$objWriter = newPHPExcel_Writer_Excel($excel_obj);
$excel_obj>setActiveSheetIndex();
$act_sheet_obj=$excel_obj>getActiveSheet();
$act_sheet_obj>setTitle(sheet);
$act_sheet_obj>setCellValue(A 字符串内容);
$act_sheet_obj>setCellValue(A );

$file_name = "outputxls";
$objWriter>save($file_name);


代码很简单 首先初始化相关的excel写类然后写入数据最后保存为xls文件
输出的效果见图

               

上一篇:PHP读写XML文件技巧

下一篇:使用PHP获取当前url路径的函数以及服务器变量