php导入excel表格数据,php页面导入excel表格数据-php导入excel 怎么获取excel表格数据...
PHP如何导出当前页面中的表格至Excel
常用的用PHP读取EXCEL的方法有以下三种,各自有各自的优缺点。个人推荐用第三种方法,因为它可以跨平台使用。
1. 以.csv格式读取
将.xls转换成.csv的文本格式,然后再用PHP分析这个文件,和PHP分析文本没有什么区别。
优点:跨平台,效率比较高、可以读写。
缺点:只能直接使用.csv的文件,如果经常接受.xls二进制文件的话需要手工转换,不能自动化。一个文件只有一个SHEET。
PHP有自带的分析.csv函数:fgetcsv
array fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )
handle 一个由 fopen()、popen() 或 fsockopen() 产生的有效文件指针。
length (可选)必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。
delimiter (可选)设置字段分界符(只允许一个字符),默认值为逗号。
enclosure (可选)设置字段环绕符(只允许一个字符),默认值为双引号。该参数是在 PHP 4.3.0 中添加的。 和 fgets() 类似,只除了 fgetcsv() 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数组。
fgetcsv() 出错时返回 FALSE,包括碰到文件结束时。
注意: CSV 文件中的空行将被返回为一个包含有单个 null 字段的数组,不会被当成错误。
当然也可以自己手动分析字符串。
还可以利用fputcsv函数将行格式化为 CSV 并写入文件指针。
2. ODBC链接数据源
优点:支持多种格式,cvs, xls等。支持读写,使用标准SQL语言,和SQLSERVER、MYSQL数据库几乎完全一样。
缺点:值支持windows服务器
3. PHP自定义类
优点:跨平台。某些类支持写操作。支持.xls二进制文件
常用的类有phpExcelReader、PHPExcel。其中后者支持读写,但是需要php5.2以上版本。
phpExcelReader是专门用来读取文件的。返回一个数组,包含表格的所有内容。
该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。
不过我下载回来的 (版本 2009-03-30),有两点要注意:
reader.php 中的下面这行要修改
将 require_once ‘Spreadsheet/Excel/Reader/OLERead.php’;
改为 require_once ‘oleread.inc’;
example.php 中
修改 $data->setOutputEncoding(’CP1251′);
为 $data->setOutputEncoding(’CP936′);
example2.php 中
修改 nl2br(htmlentities($data->sheets[$sheet]['
php导入excel 怎么获取excel表格数据
常用的用PHP读取EXCEL的方法有以下三种,各自有各自的优缺点。个人推荐用第三种方法,因为它可以跨平台使用。
1. 以.csv格式读取
将.xls转换成.csv的文本格式,然后再用PHP分析这个文件,和PHP分析文本没有什么区别。
优点:跨平台,效率比较高、可以读写。
缺点:只能直接使用.csv的文件,如果经常接受.xls二进制文件的话需要手工转换,不能自动化。一个文件只有一个SHEET。
PHP有自带的分析.csv函数:fgetcsv
array fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )
handle 一个由 fopen()、popen() 或 fsockopen() 产生的有效文件指针。
length (可选)必须大于 CVS 文件内最长的一行。在 PHP 5 中该参数是可选的。如果忽略(在 PHP 5.0.4 以后的版本中设为 0)该参数的话,那么长度就没有限制,不过可能会影响执行效率。
delimiter (可选)设置字段分界符(只允许一个字符),默认值为逗号。
enclosure (可选)设置字段环绕符(只允许一个字符),默认值为双引号。该参数是在 PHP 4.3.0 中添加的。 和 fgets() 类似,只除了 fgetcsv() 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数组。
fgetcsv() 出错时返回 FALSE,包括碰到文件结束时。
注意: CSV 文件中的空行将被返回为一个包含有单个 null 字段的数组,不会被当成错误。
当然也可以自己手动分析字符串。
还可以利用fputcsv函数将行格式化为 CSV 并写入文件指针。
2. ODBC链接数据源
优点:支持多种格式,cvs, xls等。支持读写,使用标准SQL语言,和SQLSERVER、MYSQL数据库几乎完全一样。
缺点:值支持windows服务器
3. PHP自定义类
优点:跨平台。某些类支持写操作。支持.xls二进制文件
常用的类有phpExcelReader、PHPExcel。其中后者支持读写,但是需要php5.2以上版本。
phpExcelReader是专门用来读取文件的。返回一个数组,包含表格的所有内容。
该 class 使用的方法可以参考网站下载回来的压缩档中的 example.php。
不过我下载回来的 (版本 2009-03-30),有两点要注意:
reader.php 中的下面这行要修改
将 require_once ‘Spreadsheet/Excel/Reader/OLERead.php’;
改为 require_once ‘oleread.inc’;
example.php 中
修改 $data->setOutputEncoding(’CP1251′);
为 $data->setOutputEncoding(’CP936′);
example2.php 中
修改 nl2br(htmlentities($data->sheets[$sheet]['
php如何实现程序导入excel表格数据到sql server
我以前给客户录入用户时也涉及过excel数据导入的问题,当时,我是把excel另存为csv文件,然后再用php读取csv文件
用php如何把查询到的数据导进excel表格中去呢
参考代码如下:
// 1.引用ExcelReader类文件
require_once 'Excel/reader.php';
// 2.实例化读取Excel的类
$data = new Spreadsheet_Excel_Reader();
// 3.设置输出编码
$data->setOutputEncoding('utf-8');
// 4.读取指定的excel
$data->read('test.xls');
// 5.循环输出每一行数据,这里读取的是Excel的第一个Sheet表格
// sheets[0]['numRows']代表行数
// sheets[0]['numCols']代表列数
for ($i = 1; $i sheets[0]['numRows']; $i ) { // 遍历行
for ($j = 1; $j sheets[0]['numCols']; $j ) { // 遍历列
echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
}
echo "\n";
}
?>
如何用php实现将excel导入到数据库中
thinkphp3.2和phpexcel导入最基本用法
先整个最基础的代码,理解了这个,后面的就非常简单了
$file_name= './Upload/excel/123456.xls';
import("Org.Util.PHPExcel");
import("Org.Util.PHPExcel.IOFactory");
$objReader = \PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load($file_name,$encode='utf-8');
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
$s = $objPHPExcel->getActiveSheet()->getCell("A2")->getValue();
表格内容:
再给大家整个一点难度的,先说下思路。
1.上传excel文件,得到它的地址
2.写个处理exl的function,即可
实例代码演示:
public function upload(){
$files = $_FILES['exl'];
// exl格式,否则重新上传
if($files['type'] !='application/vnd.ms-excel'){
$this->error('不是Excel文件,请重新上传');
}
// 上传
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('xls');// 设置附件上传类型
$upload->rootPath = './Upload/'; // 设置附件上传根目录
$upload->savePath = 'excel/'; // 设置附件上传(子)目录
//$upload->subName = array('date', 'Ym');
$upload->subName = '';
// 上传文件
$info = $upload->upload();
$file_name = $upload->rootPath.$info['exl']['savepath'].$info['exl']['savename'];
$exl = $this->import_exl($file_name);
// 去掉第exl表格中第一行
unset($exl[0]);
// 清理空数组
foreach($exl as $k=>$v){
if(empty($v)){
unset($exl[$k]);
}
};
// 重新排序
sort($exl);
$count = count($exl);
// 检测表格导入成功后,是否有数据生成
if($count<1){
$this->error('未检测到有效数据');
}
// 开始组合数据
foreach($exl as $k=>$v){
$goods[$k]['goods_sn'] = $v;
// 查询数据库
$where['goods_sn'] = array('like','%'.$v.'%');
$res = M('goods')->where($where)->find();
$goods[$k]['goods_name'] = $res['goods_name'];
$goods[$k]['goods_thumb'] = $res['goods_thumb'];
if($res){
// 是否匹配成功
$goods[$k]['is_match'] = '1';
$f = 1;
}else{
// 匹配失败
$goods[$k]['is_match'] = '0';
$w = 1;
}
}
// 实例化数据
$this->assign('goods',$goods);
//print_r($f);
// 统计结果
$total['count'] = $count;
$total['success'] = $f;
$total['error'] = $w;
$this->assign('total',$total);
// 删除Excel文件
unlink($file_name);
$this->display('info');
}
/* 处理上传exl数据
* $file_name 文件路径
*/
public function import_exl($file_name){
//$file_name= './Upload/excel/123456.xls';
import("Org.Util.PHPExcel"); // 这里不能漏掉
import("Org.Util.PHPExcel.IOFactory");
$objReader = \PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load($file_name,$encode='utf-8');
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
for($i=1;$i
$data[] = $objPHPExcel->getActiveSheet()->getCell('A'.$i)->getValue();
}
return $data;
}
有问题一定要及时弄清楚
php导入excel表格数据,php页面导入excel表格数据-php导入excel 怎么获取excel表格数据...相关推荐
- 股票数据尤其是从雅虎财经yahoo finance或者google finance中获取的股票数据中Adj close是什么意思?
我们通过雅虎财经的接口获取股票日线数据的时候,经常获取的数据集内容,如下: Date日期,Open开盘价,High最高价,Low最低价,Close收盘价,Adj Close调整后的收盘价, Volum ...
- layui多个数据表格共存一个页面处理
layui多个数据表格共存一个页面处理 1.html代码 2.jq代码 3.数据表格重载方式 今天在做后台时,遇到一个棘手的问题,就是layui的数据表格如果两个表格在一个页面,每个表格有一个搜索查询 ...
- Servlet获取Excel中数据的两种方式
Servlet解析Excel文件的两种方式 简单分享一下Servlet通过解析Excel文件得到其中数据的两种方式 第一种:前端获取 思路:通过layui的第三方插件 layui.excel 解析ex ...
- python word中表格字体设置_利用Python-docx 读写 Word 文档中的正文、表格、段落、字体样式等...
前言: 前两篇博客介绍了 Python 的 docx 模块对 Word 文档的写操作,这篇博客将介绍如何用 docx 模块读取已有 Word 文档中的信息. 本篇博客主要内容有: 1.获取文档的章节信 ...
- 转:量化交易零基础入门教程之——获取典型常用数据
感谢原作者:JoinQuant-TWist 转自:JoinQuant 重要提示:聚宽提供了非常好的数据库接口,愁没研究数据的小伙伴可以加微信(jqdata01)详细了解 原文链接:https://ww ...
- python量化交易:Joinquant_量化交易基础【七】:获取典型常用数据
本文是量化交易零基础入门教程的第七篇. 摘要 聚宽数据 获取指数成分股 获取股票行情数据 获取股票财务数据 自测与自学 聚宽数据 在聚宽数据这个页面可以看到聚宽平台集成好的各大类数据,如下图,点击可以 ...
- 微信小程序获取Onenet温湿度数据并控制灯亮灭
其实之前就写过类似的文章,但是看过我博客的朋友就知道,我是先写微信小程序获取onenet,然后再写esp32上云到onenet.一篇是ESP32-C3通过MQTT协议把温湿度上传到OneNet平台 ...
- 聚宽 get_price 多个股票数据_量化交易入门教程,获取典型常用数据
获取典型常用数据 摘要 聚宽数据 获取指数成分股 获取股票行情数据 获取股票财务数据 自测与自学 聚宽数据 在聚宽数据这个页面可以看到聚宽平台集成好的各大类数据,如下图,点击可以查看详情与用法. 但实 ...
- PHP获取表单数据的方法有几种,如何实现PHP获取表单数据与HTML嵌入PHP脚本
如何实现PHP获取表单数据与HTML嵌入PHP脚本 导语:如何实现PHP获取表单数据与HTML嵌入PHP脚本,下面是小编给大家提供的操作讲解,大家可以参考阅读,更多详情请关注应届毕业生考试网. 常用的 ...
最新文章
- 【运营】运营必看!如何吸引用户主动的参与活动?
- 从bash函数中返回任意值
- 几种常用的清除浮动方法(一)
- python 基因序列提取_科学网—简单的Python脚本提取对应位置基因序列(fasta文件) - 王彬忠的博文...
- 基于gulp编写的一个简单实用的前端开发环境
- Sentinel服务熔断只配置blockHandler_客户自定义限流处理_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0051
- intval0.57100 php_关于PHP浮点数之 intval((0.1+0.7)*10) 为什么是7
- 8位十六进制转换32位十六进制_网络中的数制系统--二进制十六进制与十进制之间的相互转换...
- 一款原型设计软件——墨刀的介绍
- 华为手机一键解锁工具箱下载 | 华为手机解BL锁软件: 支持解锁bootloader,刷写recovery功能
- 【GMSK+FPGA】基于verilog的GMSK调制系统设计
- 微信小程序 添加分割线
- oracle数据库mgmt,19c rac数据库如何添加mgmt
- linux nfs性能差,linux – 奇怪的nfs性能:1个线程比8个好,8个好于2个!
- win7 mysql 管理员权限_win7 管理员权限
- stc单片机“全自动下载”(程序版)
- 概率论抽球 模型 汇总
- 创业之路 - 魏杰:下一个 10 年,将造就一批新富翁
- 世界杯快结束了,VAR的故事才刚刚开始
- 出现了,PPT 制作新方式
热门文章
- 2021 年4月数据库流行度排行榜出炉!Snowflake 和 Clickhouse上升迅速!
- 每日一皮:“快准恨”的程序员叠衣法,还不快学起来?
- 原来这就是Java代码生成器的原理啊,太简单了
- 使用 Prometheus 监控 Redis
- visual studio 添加源码目录
- Pytorch 计算参数量与计算量Flops
- TeamViewer 14 on Nvidia Jetson TX2
- 深度学习 | 反卷积/转置卷积 的理解 transposed conv/deconv
- python ffmpeg pyav
- access检查为空函数