php怎么读取excel⾥的数据类型,php读取excel表格数据-对
PHPExcel⼀些。。。
php读取excel,excel下多个个⼯作表,该怎么读取
php读取excel,excel下多个个⼯作表的⽅法:
1、利⽤PHPExcelReader来完成多个excel的读取。
2、PHPExcel⽐较强⼤,能够将内存中的数据输出成Excel⽂件,同时还能够对Excel做各种操作,下⾯主要介绍下如何使⽤PHPExcel进⾏Excel 2007格式(.xlsx)⽂件的读取。
3、下载PHPExcel后保存到⾃⼰的类⽂件⽬录中,然后使⽤以下代码可以打开Excel 2007(xlsx)格式的⽂件:
require_once '/libs/PHPExcel-1.8.0/Classes/PHPExcel.php'; //修改为⾃⼰的⽬录
echo '
TEST PHPExcel 1.8.0: read xlsx file
';
$objReader = PHPExcel_IOFactory::createReaderForFile($filename);
$objPHPExcel = $objReader->load($filename);
$objPHPExcel->setActiveSheetIndex(1);
$date = $objPHPExcel->getActiveSheet()->getCell('A16')->getValue();
输出$date变量就能够看到⽂件中的内容了。
PHP ⽤PHPExcel往数据库导⼊⼤量数据
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函数返回⼀个
⼆维数组
python怎么读取excel文件数据$exceArray = readExcel($path);
//创建⼀个读取
excel函数
function readExcel($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;
}
PHPexcel 读取excel中的值是空的
php有个PHPExcel扩展,是可以实现你的要求的。
我这⾥有个可以读取多个⼯作薄的⾃定义excel类,试试看:
/**
*excel.class.php
*/
class Excel
{
/**
* 从excel⽂件中取得所有数据。并转换成指定编码格式。
* $toCode 表⽰需要转换成的编码格式,⽬前扩充了utf8,gbk2312,html三种格式。* @return 返回⼆维数组。
*/
static function getDataFromExl($filePath,$toCode = "utf8")
{
$fh = @fopen($filePath,'rb');
if( !$fh || filesize($filePath)==0 )
return -1; //⽂件不可读或者为空
}
$fc = fread( $fh, filesize($filePath) );
@fclose($fh);
if( strlen($fc) < filesize($filePath) )
{
return -2; //读取错误
}
$exc = new ExcelFileParser();
$res = $exc->ParseFromString($fc);
$ws_number = count($exc->worksheet['name']);//取得⼯作薄数量if( $ws_number < 1 )
{
return -3;
}
for ($ws_n = 0; $ws_n < $ws_number; $ws_n )
{
$ws = $exc -> worksheet['data'][$ws_n];
$data = $ws['cell'];
foreach($data as $k=>$v) //⼀⾏数据
{
$row = null;
foreach($v as $a=>$d) //⼀⾏数据的⼀个字节
{
$value = null;
if(count($d) == 1)
{
continue;
}
if($d['type'] == 0) //如果是字符类型则转换成为指定编码格式
{
$ind = $d['data'];
if( $exc->sst['unicode'][$ind] ) //返回数据编码格式
switch($toCode)
{
case "utf8":
$s = Strings::uc2utf8($exc->sst['data'][$ind]);
break;
case "gbk":
$s = Strings::uc2gbk($exc->sst['data'][$ind]);
break;
case "html":
$s = Strings::uc2html($exc->sst['data'][$ind]);
break;
default:
$s = Strings::uc2utf8($exc->sst['data'][$ind]);
break;
}
}
else
{
$s = $exc->sst['data'][$ind];
}
if( strlen(trim($s))==0 || $s === null )
{
$value = '';
}
else
{
$value = $s;
}
}
elseif($d['type'] == 3)
{
$time_list = explode('.', $d['data']);
$time_format = $time_list[2].'-'.$time_list[0].'-'.$time_list[1];
$value = date("Y-m-d H:i:s", $timestamp);
}
else
{
$value = $d['data'];
}
$row[$a] = $value;
}
$recordList[] = $row;
}
}
return $recordList;
}
}
require_once('./excel.class.php');
$emailData = Excel::getDataFromExl($_FILES['file_name']['tmp_name']);
对PHPExcel⼀些简单的理解 及怎么读取单元格数据
php有个PHPExcel扩展,是可以实现你的要求的。
我这⾥有个可以读取多个⼯作薄的⾃定义excel类,试试看:
/**
*excel.class.php
*/
class Excel
{
/
**
* 从excel⽂件中取得所有数据。并转换成指定编码格式。
* $toCode 表⽰需要转换成的编码格式,⽬前扩充了utf8,gbk2312,html三种格式。* @return 返回⼆维数组。
*/
static function getDataFromExl($filePath,$toCode = "utf8")
{
$fh = @fopen($filePath,'rb');
if( !$fh || filesize($filePath)==0 )
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论