导航:首页 > 编程语言 > php解析xls

php解析xls

发布时间:2023-04-09 19:47:08

A. php通过finfo判断excel文件是什么格式

excel 93-2003后缀为 .xls 的 文件格式是 application/vnd.ms-excel

excel2007格式后缀是 .xlsx 的文件格式是application/vnd.openxmlformats-officedocument.spreadsheetml.sheet


php上传文件,可以通过内置的系统函数$_FILES 获取文件的信息。


$_FILES数组内容如下: (其中upfile为获取的表单名称)
$_FILES['upfile']['name'] 客户端文件的原名称。
$_FILES['upfile']['type'] 文件的 MIME 类型,需要浏览器提供该信息的支持,例如"image/gif"。
$_FILES['upfile']['size'] 已上传文件的大小,单位为字节。
$_FILES['upfile']['tmp_name'] 文件被上传后在服务端储存的临时文件名


<?php
if(isset($_POST['sub'])){
echo"文件名:".$_FILES['upfile']['name']."<br>";
echo"文件类型:".$_FILES['upfile']['type'];
}

?>
<formenctype="multipart/form-data"method="post"action="f.php">
<inputtype="file"name="upfile"/>
<inputtype="submit"name="sub"value="上传"/>
</form>


上传 。xls文件 返回的信息为

文件名:导入收藏证书模板.xls
文件类型:application/vnd.ms-excel


B. 如何读取excel文件 php

主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel。

PHPExcelReader比较轻量级,仅支持Excel的读取,实际上就是一个Reader。但是可惜的是不能够支持Excel 2007的格式(.xlsx)。

PHPExcel比较强大,能够将内存中的数据输出成Excel文件,同时还能够对Excel做各种操作,下面主要介绍下如何使用PHPExcel进行Excel 2007格式(.xlsx)文件的读取。

下载PHPExcel后保存到自己的类文件目录中,然后使用以下代码可以打开Excel 2007(xlsx)格式的文件:

require_once'/libs/PHPExcel-1.8.0/Classes/PHPExcel.php';//修改为自己的目录
echo'<p>TESTPHPExcel1.8.0:readxlsxfile</p>';
$objReader=PHPExcel_IOFactory::createReaderForFile($filename);
$objPHPExcel=$objReader->load($filename);
$objPHPExcel->setActiveSheetIndex(1);
$date=$objPHPExcel->getActiveSheet()->getCell('A16')->getValue();

输出$date变量就能够看到文件中的内容了。PHPExcel使用PHPExcel_IOFactory这个类来自动匹配所上传的文件类型,当然我们也可以自己制定要解析的文件类型。之后通过load方法,将PHP文件加载到objPHPExcel对象中。如果Excel文件有多个Sheet,可以通过setActiveSheetIndex来设置当前活动的Sheet。

需要注意的是,对于Excel中的日期格式,PHPExcel读出来的是不是日期类型,需要我们使用以下方法来进行日期类型转换。

echodate("Y-m-dH:i:s",PHPExcel_Shared_Date::ExcelToPHP($date));

下面的代码显示了如何遍历显示Excel的内容:

<tableid="table_id">
<?php
$objWorksheet=$objPHPExcel->getActiveSheet();
$i=0;
foreach($objWorksheet->getRowIterator()as$row){
?>
<tr>
<?php
$cellIterator=$row->getCellIterator();
$cellIterator->setIterateOnlyExistingCells(false);
if($i==0){
echo'<thead>';
}
foreach($cellIteratoras$cell){
echo'<td>'.$cell->getValue().'</td>';
}
if($i==0){
echo'</thead>';
}
$i++;
?>
</tr>
<?php
}
?>
</table>

C. php如何把xls文件转换成xml文件,求大侠方法实现。

你可以去网上搜索phpExcelReader组件,用它能把xls读入并解析成数组,然后自己再组织输出为xml格式。

D. php怎么读取excel 文件数据并输出

PHPExcel

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

//获取上传的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;
}

E. 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解析xls相关的资料

热点内容
表格怎么转移到另一个文件夹 浏览:923
同态加密gpu 浏览:216
程序员告诉你网赌为什么赢不了 浏览:971
程序员最帅操作 浏览:72
云服务器可以随时更换吗 浏览:489
老款车在哪里可以买到app 浏览:460
程序员事业单位 浏览:68
特来电需要用哪个App 浏览:881
电脑如何共享其他服务器 浏览:260
php网站性能优化 浏览:354
被子收纳袋压缩真空 浏览:30
h1z1选什么服务器 浏览:484
苹果版三国杀怎么在安卓上下载 浏览:728
安润国际app在哪里下载 浏览:438
iospdf教程下载 浏览:332
加密货币换手率300表示什么 浏览:727
手机wps新建文件夹存照片 浏览:399
单片机rgbled 浏览:963
怎么通过文件加密后发给微信好友 浏览:90
用虚拟机编程 浏览:821