当前位置:首页 » 编程语言 » php读取excel文件

php读取excel文件

发布时间: 2022-03-30 16:47:39

1. php上传excel文件,如何读取文件中的信息

告诉你一个思路,
简单归纳如下三个部分即可实现 .
////存储的部分
<?
if($_FILE[文件名])
{
$destFilename=指定目录/文件名;
($_FILE[文件名],$destFilename);
}
?>
<?
//php读出部分,
这里可以有多个.如果是图片文件的,可以直接使用HTML的<IMG src=相对URI图片路径>标记
//如果是其它如WORD/EXCEL/PDF这类的.你就要用一个<IFRAME src=文件 高/宽设定>
?>
//////////上传的部分
<form method="POST" >
<input type=file name=文件变量>
<input type=submit>
</form>

2. php读取excel,excel下多个个工作表,该怎么读取

php有个PHPExcel扩展,是可以实现你的要求的。
我这里有个可以读取多个工作薄的自定义excel类,试试看:

<?php
/**
*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];
$timestamp = strtotime($time_format);
$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']);

3. 高手帮我解决下PHP读取Excel文件乱码的问题

不能使用readfile显示XLS文件,这样肯定是乱码。

PHP中显示EXCEL需要使用一些插件,或者使用COM打开EXCEL进程。更简单的办法是在EXCEL里面另存为,选择网页格式,这样的文件可以直接在网页显示。

4. php读取excel文件时浮点数字被读错,我这个是把“-16807.95”读取成了“10720610.29”

1、你把这个数据手动输入一遍,注意输入法,再保存,然后测试;
2、输入-16807,测试;
3、输入-2143.40,测试;
几个测试下来,应该可以找到答案

5. 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;
}

6. php 怎样读取excel电子表格 - 技术问答

phpchina的贴子里有一篇是关于excel的操作的...还有可以使用COM连接

7. php读取excel文件示例分享(更新修改excel)

复制代码
代码如下:
//模板存放目录
$dir
=
$DOCUMENT_ROOT.'/backoffice/admin/oemcheck/';
$templateName
=
'1.xlsx';
$outputFileName
=
'模板.xlsx';
$txt='test';
//实例化Excel读取类
$PHPReader
=
new
PHPExcel_Reader_Excel2007();
if(!$PHPReader->canRead($dir.$templateName)){
$PHPReader
=
new
PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($dir.$templateName)){

echo
'无法识别的Excel文件!';

return
false;
}
}
//读取Excel
$PHPExcel
=
$PHPReader->load($dir.$templateName);
//读取工作表1
$currentSheet
=
$PHPExcel->getSheet(0);
$currentSheet->setCellValue('B13',iconv('gbk','utf-8',$txt));//表头赋值//
//实例化Excel写入类
$PHPWriter
=
new
PHPExcel_Writer_Excel2007($PHPExcel);
ob_start();
header("Content-Type:
application/force-download");
header("Content-Type:
application/octet-stream");
header("Content-Type:
application/download");
header('Content-Disposition:attachment;filename="'
.$outputFileName.
'"');//输出模板名称
header("Content-Transfer-Encoding:
binary");
header("Last-Modified:".gmdate("D,
d
M
Y
H:i:s")."
GMT");
header('Pragma:
public');
header('Expires:
30');
header('Cache-Control:
public');
$PHPWriter->save('php://output');

8. PHP远程读取excel文件,怎么读取

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);

热点内容
安卓手机的云备份在哪里能找到 发布:2025-01-17 00:14:12 浏览:471
诈骗的脚本 发布:2025-01-16 23:51:27 浏览:314
电脑配置有点低怎么玩和平精英 发布:2025-01-16 23:46:14 浏览:818
ipfs分布式服务器是什么币种 发布:2025-01-16 23:32:29 浏览:991
android动态icon 发布:2025-01-16 23:03:12 浏览:605
优酷电脑缓存在哪 发布:2025-01-16 22:58:29 浏览:298
进口途锐哪个配置好 发布:2025-01-16 22:35:24 浏览:962
骨干路由器怎么配置 发布:2025-01-16 22:24:39 浏览:244
途安2021款买哪个配置 发布:2025-01-16 22:21:01 浏览:329
图片的压缩原理 发布:2025-01-16 22:17:15 浏览:493