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

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

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

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

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

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

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

下面介绍一下具体的使用:

复制代码 代码如下:

require_once('./phpexcel1.7.3/PHPExcel.php');
$php_excel_obj = new PHPExcel();
$php_reader = newPHPExcel_Reader_Excel2007();
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', 26);

$file_name = "output.xls";
$objWriter->save($file_name);

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

 

时间: 2024-11-02 08:49:19

基于php中使用excel的简单介绍的相关文章

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

在工作中需要处理多语言的翻译问题,翻译都是写在excel表格里面.为了处理方便我就保留中文和英文两列. 这样需要将这些数据从excel中取出来,然乎保存在excel的数组中,通过使用循环数组将相应的数据放入到数据库中. 所以工作的第一步就是要将数据从excel中取出来.这里我使用到了一个开源php处理excel类:phpexcel.  该项目的详细信息 http://phpexcel.codeplex.com/ . 我目前使用的是phpexcel1.7.3版本, 解压缩后里面有一个PHPExce

JavaScript中的return语句简单介绍_javascript技巧

return语句在js中非常的重要,不仅仅具有返回函数值的功能,还具有一些特殊的用法,下面就结合实例简单介绍一下return语句的作用. 一.用来返回控制和函数结果: 通常情况,return语句对于一个函数是很有必要的,因为往往需要函数在一系列的代码执行后会得到一个期望的返回值,而此值就是通过return语句返回,并且将控制权返回给主调函数. 语法格式: return 表达式  代码实例如下: function add(){ var a=1; var b=2; return a+b; } fun

javascript中的location用法简单介绍_基础知识

先前写了一片用window.location.href实现刷新另个框架页面 ,特此我看了一下locaiton的详细用法,对此有点改进,现在我将他整理成js,方便查阅,也贴上和朋友们分享一下,具体如下: 第一.简单介绍一下location属性.用法以及相关示例: Location 包含了关于当前 URL 的信息. 描述 location 对象描述了与一个给定的 Window 对象关联的完整 URL.location 对象的每个属性都描述了 URL 的不同特性. 通常情况下,一个 URL 会有下面的

Android中dumpsys命令用法简单介绍

在Android手机上, 通过使用adb shell命令可以进入android系统的shell, 该shell除支持一些常用的标准命令之外,还支持一些和android系统相关的其他命令, 这些命令可以打印出系统当前的状态信息. dumpsys就是这样一个命令. 使用 adb shell 进入命令行, 敲入dumpsys, 打印出的信息超级多, 在我的nexus 5机器上,输出多达67000行. 首先从打印信息的开始部分看起: Currently running services: Surface

asp.net中C#委托的简单介绍

一提到委托,浮现在我们脑海中的大概是听的最多的就是类似C++的函数指针吧,呵呵,至少我的第一个反应是这样的. 关于委托的定义和使用,已经有诸多的人讲解过,并且讲解细致入微,尤其是张子阳的那一篇.我就不用多废话了. 今天我要说的是C#中的三种委托方式:Func委托,Action委托,Predicate委托以及这三种委托的常见使用场景. Func,Action,Predicate全面解析 首先来说明Func委托,通过MSDN我们可以了解到,Func委托有如下的5种类型: (1) *delegate

Excel教程 简单介绍averageifs函数

  实例演示教程: ①打开Excel2010,源数据表格我已经制作好了,我们要计算年级班级的平均分,首先,在D15单元格输入: =AVERAGEIFS(E2:E13,A2:A13,"一年级",D2:D13,"语文") ②回车,得到结果79,我们对照源表格,可以确定平均分就是79,正确. ③然后在D16单元格输入: =AVERAGEIFS(E2:E13,A2:A13,"二年级",B2:B13,"一班",D2:D13,"

Excel 2010 中条件格式新增功能介绍

Excel 2010 中条件格式新增功能介绍这篇文章的内容如下: 下面介绍Excel 2010中一些新的条件格式功能: 交叉表引用 健壮的错误处理 性能增强 交叉表引用 在Excel 2010中,可以创建引用工作簿中不同工作表的条件格式.这意味着,在使用条件格式时,不再需要复制或链接数据到同一工作表. 例如,看看某连锁书店每月销售数据,该书店采用如下方式组织销售数据: 每个位置有自已的工作表 最后一个工作表包含全公司累计销售数据,使用每个部门的平均值. 下面我们应用条件格式,以便能够容易判断是否

在EXCEL表格中使用透视表方法介绍

  EXCEL表格可以说使我们最常用的一个办公软件了,透视表可以让我们更加清晰的看到我们在数据源中需要的部分的数据,可以节约大量的时间,这样分析出来的数据也比较的准确,更加浅显易懂,今天我就来给大家介绍一下透视表的用法,用它来统计分析数据可以直观的看出问题所在,给领导们做决策提供强有力的依据. 方法/步骤 第一步.启动excel程序,打开一张你需要透视的数据源的表格,然后我们要选中我们需要透视的部分,一般我自己会用"Ctrl+A"选中整张表,如图所显 2.鼠标点击表格上方的插入选项,然

简单介绍Python的Tornado框架中的协程异步实现原理_python

Tornado 4.0 已经发布了很长一段时间了, 新版本广泛的应用了协程(Future)特性. 我们目前已经将 Tornado 升级到最新版本, 而且也大量的使用协程特性. 很长时间没有更新博客, 今天就简单介绍下 Tornado 协程实现原理, Tornado 的协程是基于 Python 的生成器实现的, 所以首先来回顾下生成器.生成器 Python 的生成器可以保存执行状态 并在下次调用的时候恢复, 通过在函数体内使用 yield 关键字 来创建一个生成器, 通过内置函数 next 或生成