PHPExcel
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函数
function?readExcel($path){
//引入PHPExcel类库
include?'Classes/PHPExcel.php';??
include?'Classes/PHPExcel/IOFactory.php';
$xlsReader?=?\PHPExcel_IOFactory::createReader($type);?
$xlsReader-setReadDataOnly(true);
$xlsReader-setLoadSheetsOnly(true);
$Sheets?=?$xlsReader-load($path);
//开始读取上传到服务器中的Excel文件,返回一个
$dataArray?=?$Sheets-getSheet(0)-
toArray();
return?$dataArray;
}
PHPExcel 通过 PHPExcel_Shared_OLERead 类的 read 方法读取文件
但 read 方法里使用了 is_readable 函数来确认文件是否存在,而 is_readable 不能作用于 url
所以不可直接远程读取
但若绕过 is_readable 函数的话,就是可以的
public function read($sFileName)
{
// Check if file exists and is readable
if(!is_readable($sFileName)) {
throw new Exception("Could not open " . $sFileName . " for reading! File does not exist, or it is not readable.");
// Get the file data
$this-data = file_get_contents($sFileName);
php读取excel,excel下多个个工作表的方法:
①.、利用PHPExcelReader来完成多个excel的读取.
$objReader = PHPExcel_IOFactory::createReaderForFile($filename);
$objPHPExcel = $objReader-load($filename);
$objPHPExcel-setActiveSheetIndex(1);
输出$date变量就能够看到文件中的内容了.
很明显已经给出提示了,你朋友的机器上没有:aa.xls这个excel文件.一定要放在同样的目录下.
主要有两个选择,第一个是PHPExcelReader,另外一个是PHPExcel.
$objReader?=?PHPExcel_IOFactory::createReaderForFile($filename);?
$objPHPExcel?=?$objReader-load($filename);
输出$date变量就能够看到文件中的内容了.PHPExcel使用PHPExcel_IOFactory这个类来自动匹配所上传的文件类型,当然我们也可以自己制定要解析的文件类型.之后通过load方法,将PHP文件加载到objPHPExcel对象中.如果Excel文件有多个Sheet,可以通过setActiveSheetIndex来设置当前活动的Sheet.
需要注意的是,对于Excel中的日期格式,PHPExcel读出来的是不是日期类型,需要我们使用以下方法来进行日期类型转换.
echo?date("Y-m-d?H:i:s",PHPExcel_Shared_Date::ExcelToPHP($date));
下面的代码显示了如何遍历显示Excel的内容:
table?id="table_id"
php
$objWorksheet?=?$objPHPExcel-getActiveSheet();
$i?=?0;
foreach($objWorksheet-getRowIterator()?as?$row){
tr
$cellIterator?=?$row-getCellIterator();
$cellIterator-setIterateOnlyExistingCells(false);
if(?$i?==?0?){
echo?'thead';
foreach($cellIterator?as?$cell){
echo?'td'?.?$cell-getValue()?.?'/td';
echo?'/thead';
$i++;
/tr
/table
有一个简便的方法 ?将数据输出到网页的table标签里面 然后改变header头为excel
header?(?"Content-type:application/vnd.ms-excel"?);
header?(?"Content-Disposition:attachment;filename=文件名称.xls"?);
正式点的
前端使用bootstrapTable插件导出excel
后端PHP使用PHPEXCEL插件
以上就是土嘎嘎小编为大家整理的使用php解析excel相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!