当前位置:首页 » 编程语言 » php表格excel

php表格excel

发布时间: 2024-11-17 02:11:05

‘壹’ php怎么读取excel 文件数据并输出

PHPExcel

PHPExcel是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。

  • PHP读取示例代码

//获取上传的excel临时文件
$path=$_FILES["file"]["tmp_name"];
//将临时文件移动当前目录,可自定义存储位置

move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
//将获取在服务器中的Excel文件,此处为上传文件名
$path=$_FILES["file"]["name"];
//调用readExcel函数返回一个
二维数组
$exceArray=readExcel($path);

//创建一个读取
excel函数
functionreadExcel($path){
//引入PHPExcel类库
include'Classes/PHPExcel.php';
include'Classes/PHPExcel/IOFactory.php';

$type='Excel5';//设置为Excel5代表支持2003或以下版本,
Excel2007代表2007版
$xlsReader=PHPExcel_IOFactory::createReader($type);
$xlsReader->setReadDataOnly(true);
$xlsReader->setLoadSheetsOnly(true);
$Sheets=$xlsReader->load($path);
//开始读取上传到服务器中的Excel文件,返回一个
二维数组
$dataArray=$Sheets->getSheet(0)->
toArray();
return$dataArray;
}

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

在工作中需要处理多语言的翻译问题,翻译都是写在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文件。
输出的效果见图

‘叁’ php如何给excel表格添加水印

  • 1

  • 首先打开excel界面,进入excel工作区

  • 步骤阅读

‘肆’ php怎样读取excel表格内容

常用的用PHP读取EXCEL的方法有以下三种,各自有各自的优缺点。个人推荐用第三种方法,因为它可以跨平台使用。x0dx0ax0dx0a1. 以.csv格式读取x0dx0ax0dx0a将.xls转换成.csv的文本格式,然后再用PHP分析这个文件,和PHP分析文本没有什么区别。x0dx0ax0dx0a优点:跨平台,效率比较高、可以读写。x0dx0ax0dx0a缺点:只能直接使用.csv的文件,如果经常接受.xls二进制文件的话需要手工转换,不能自动化。一个文件只有一个SHEET。x0dx0ax0dx0aPHP有自带的分析.csv函数:fgetcsvx0dx0ax0dx0aarray fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )x0dx0ax0dx0ahandle 一个由 fopen()、popen() 或 fsockopen() 产生的有效文件指针。x0dx0ax0dx0alength (可选)必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。x0dx0ax0dx0adelimiter (可选)设置字段分界符(只允许一个字符),默认值为逗号。x0dx0ax0dx0aenclosure (可选)设置字段环绕符(只允许一个字符),默认值为双引号。该参数是在 PHP 4.3.0 中添加的。 和 fgets() 类似,只除了 fgetcsv() 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数组。x0dx0ax0dx0afgetcsv() 出错时返回 FALSE,包括碰到文件结束时。x0dx0ax0dx0a注意: CSV 文件中的空行将被返回为一个包含有单个 null 字段的数组,不会被当成错误。x0dx0ax0dx0a当然也可以自己手动分析字符串。x0dx0ax0dx0a还可以利用fputcsv函数将行格式化为 CSV 并写入文件指针。x0dx0ax0dx0a2. ODBC链接数据源x0dx0ax0dx0a优点:支持多种格式,cvs, xls等。支持读写,使用标准SQL语言,和SQLSERVER、MYSQL数据库几乎完全一样。x0dx0ax0dx0a缺点:值支持windows服务器x0dx0ax0dx0a3. PHP自定义类x0dx0ax0dx0a优点:跨平台。某些类支持写操作。支持.xls二进制文件x0dx0ax0dx0a常用的类有phpExcelReader、PHPExcel。其中后者支持读写,但是需要php5.2以上版本。x0dx0ax0dx0aphpExcelReader是专门用来读取文件的。返回一个数组,包含表格的所有内容。x0dx0ax0dx0a该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。x0dx0ax0dx0a不过我下载回来的 (版本 2009-03-30),有两点要注意:x0dx0ax0dx0areader.php 中的下面这行要修改x0dx0ax0dx0a将 require_once ‘Spreadsheet/Excel/Reader/OLERead.php’;x0dx0ax0dx0a改为 require_once ‘oleread.inc’;x0dx0ax0dx0aexample.php 中x0dx0ax0dx0a修改 $data->setOutputEncoding(’CP1251′);x0dx0ax0dx0a为 $data->setOutputEncoding(’CP936′);x0dx0ax0dx0aexample2.php 中x0dx0ax0dx0a修改 nl2br(htmlentities($data->sheets[$sheet]['cells'][$row][$col]));x0dx0ax0dx0a为 $table_output[$sheet] .= nl2br(htmlspecialchars($data->sheets[$sheet]['cells'][$row][$col]));x0dx0ax0dx0a不然中文会有问题。x0dx0ax0dx0a繁体的话可以修改为CP950、日文是CP932,具体可参考codepage说明。x0dx0ax0dx0a修改 $data->read(’jxlrwtest.xls’) 为自己的 excel 文件名,zip 档中附的 jxlrwtest.xls 应该是坏了。

‘伍’ php怎么导出大量数据的Excel

php导出大量数据Excel的具体操作步骤如下:

1、使用phpstudy搭建一个测试平台,直接访问数据库。

热点内容
php函数和方法 发布:2024-11-17 04:27:16 浏览:129
我的世界怎么设置服务器阵容 发布:2024-11-17 04:26:32 浏览:281
数控编程简单点的图片 发布:2024-11-17 04:16:57 浏览:445
相机存储卡32 发布:2024-11-17 04:13:50 浏览:419
ftp452 发布:2024-11-17 04:05:12 浏览:784
传智解压密码 发布:2024-11-17 04:04:04 浏览:582
如何改电脑路由器密码 发布:2024-11-17 03:55:49 浏览:520
android浏览器打开 发布:2024-11-17 03:54:40 浏览:321
自己制作手游脚本 发布:2024-11-17 03:45:12 浏览:416
sql数据库ip地址 发布:2024-11-17 03:45:12 浏览:699