php操作excel表格的导入和导出
前言:对于excel大家肯定熟悉不过了的,那么我们在日常的业务中应该是有对这些文件的导入导出操作的
类的下载:composer require phpoffice/phpexcel,其中Classes文件是核心文件
//导入excel文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文件的读写</title>
</head>
<body>
<form action="./importexcelserver.php" method="post" enctype="multipart/form-data">
请选择文件:<input type="file" name="excel"> <br/>
<input type="submit" value="上传">
</form>
</body>
</html>
//excel导入的方法的后端代码
function import_One()
{ require "./Classes/PHPExcel/IOFactory.php";
$excelio=PHPExcel_IOFactory::load($_FILES['excel']['tmp_name']); //第一个参数是表单提交的name,第二个是临时名
$sheetcount=$excelio->getSheetCount();
$datas=$excelio->getSheet(0)->toArray(); // 获取第一个sheet数据
unset($datas[0]); // 删除表头名字,
echo "<pre>";
print_r($datas);
//.....接着你就可以操作数据库入库了
}
import_One();
//导出前台代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文件的读写</title>
</head>
<body>
<div>
<button id="output">单击我导出文件</button>
</div>
</body>
<script type="text/javascript">
document.getElementById('output').onclick = function(){
location.href = 'export.php';
}
</script>
</html>
<?php
//导出文件后台代码
function export()
{
require "./Classes/PHPExcel.php"; // 引入核心文件
require "./Classes/PHPExcel/Writer/Excel5.php"; //此类主要往excel表中写数据的文件
$objPHPExcel = new PHPExcel(); // 实例一个excel核心类
$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); // 将excel类对象作为参数传入进去
$sheets=$objPHPExcel->getActiveSheet()->setTitle('sheet_name');//设置表格名称
//设置sheet列头信息
$objPHPExcel->setActiveSheetIndex()->setCellValue('A1', '名字')->setCellValue('B1', '邮箱')->setCellValue('C1', '性别');
//这里是操作数据库查询库中的字段的值(如果数量庞大可以利用框架的批量读取功能)
$users=D("User")->limit(10)->Select();
$i=2;//第一行被表头占有了
foreach($users as $v){
//设置单元格的值
$sheets=$objPHPExcel->getActiveSheet()->setCellValue('A'.$i,$v['username']);
$sheets=$objPHPExcel->getActiveSheet()->setCellValue('B'.$i,$v['email']);
$sheets=$objPHPExcel->getActiveSheet()->setCellValue('C'.$i,$v['sex']?"男":"女");
$i++;
} //整体设置字体和字体大小
$objPHPExcel->getDefaultStyle()->getFont()->setName( 'Arial');//整体设置字体
$objPHPExcel->getDefaultStyle()->getFont()->setSize(10);//整体设置字体大小 // $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true); //单元格宽度自适应
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20); //设置列宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20); //设置列宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20); //设置列宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20); //设置列宽度
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20); //设置列宽度
$objPHPExcel->getActiveSheet()->getStyle('B3')->getFont()->setBold(true); //设置单元格字体加粗 // 输出Excel表格到浏览器下载
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="excel_name.xls"'); //excel表格名称
header('Cache-Control: max-age=0');
header('Cache-Control: max-age=1');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified
header('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header('Pragma: public'); // HTTP/1.0
$objWriter->save('php://output'); }
php操作excel表格的导入和导出的更多相关文章
- vue项目使用js-xlsx进行excel表格的导入和导出方法的简单原型封装
前提:已经安装好 file-saver xlsx和 script-loader,如未安装,请查看 https://www.cnblogs.com/luyuefeng/p/8031597.html 新建 ...
- 使用PHPExcel实现Excel文件的导入和导出(模板导出)
在之前有写过一篇文章讲述了使用PHP快速生成excel表格文件并下载,这种方式生成Excel文件,生成速度很快,但是有缺点是:1.单纯的生成Excel文件,生成的文件没有样式,单元格属性(填充色,宽度 ...
- vue中excal表格的导入和导出
注意:vue中要实现表格的导入与导出,首先要install两个依赖, npm install -S file-saver xlsx 和 npm install -D script-loader.其 ...
- qt 操作excel表格
自己编写的一个Qt C++类,用于操作excel表格,在Qt中操作excel需在.pro中增加CONFIG+=qaxcontainer配置. 1.打开Excel:objExcel = new QAx ...
- Python 利用Python操作excel表格之openyxl介绍Part2
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart() ...
- Python 利用Python操作excel表格之openyxl介绍Part1
利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...
- 【转】python操作excel表格(xlrd/xlwt)
[转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...
- Python 利用Python操作excel表格之xlwt介绍
利用Python操作excel表格之xlwt介绍 by:授客 QQ:1033553122 直接上代码 案例1 #!/usr/bin/env python # -*- coding:utf-8 ...
- 用NPOI、C#操作Excel表格生成班级成绩单
在C#中利用NPOI操作Excel表格非常方便,几乎上支持所有的Excel表格本身所有的功能,如字体设置.颜色设置.单元格合并.数值计算.页眉页脚等等. 这里准备使用NPOI生成一个班级成绩单Exce ...
随机推荐
- QT连接postgreSQL
这是我之前项目遇到的问题,连接postgreSQL数据库,一直找不到引擎,最后终于找到 原因了,需要程序加载 1.安装postgresql客户端,2.需要配置postgresql客户端的bin和lib ...
- 我带着小程序和Springboot后端终于战胜了WebSocket!!!胜利( •̀ ω •́ )y
WebSocket项目笔记 1. What is WebSocket? (以下内容来源于百度百科) WebSocket是一种在单个TCP连接上进行全双工通信的协议 WebSocket使得客户端和服务器 ...
- JavaScript 节流函数 Throttle 详解
在浏览器 DOM 事件里面,有一些事件会随着用户的操作不间断触发.比如:重新调整浏览器窗口大小(resize),浏览器页面滚动(scroll),鼠标移动(mousemove).也就是说用户在触发这些浏 ...
- Django-2- 模板路径查找,模板变量,模板过滤器,静态文件引用
模板路径查找 路径配置 2. templates模板查找有两种方式 2.1 - 在APP目录下创建templates文件夹,在文件夹下创建模板 2.2 - 在项目根目录下创建templates文件夹, ...
- mybatis常见错误
1.传入单个参数为list时 List<Objects> query(@param("list") List<String> list) <selec ...
- torm入门(三)HelloWorld示例
一.配置开发环境 storm有两种操作模式: 本地模式和远程模式.使用本地模式的时候,你可以在你的本地机器上开发测试你的topology, 一切都在你的本地机器上模拟出来; 用远程模式的时候你提交的t ...
- ckeditor django admin 中使用
ckeditor settings配置 ############ # CKEDITOR # ############ MEDIA_ROOT = os.path.join(BASE_DIR, 'medi ...
- java 向上向下取整
Math.floor(1.4)=1.0 Math.round(1.4)=1 Math.ceil(1.4)=2.0 Math.floor(1.5)=1.0 Math.round(1.5)=2 Math. ...
- Docker平台的基本使用方法
1.运行一个 container并加载镜像centos,运行起来这个实例后,在实例中执行 /bin/bash命令 docker常用参数: run 运行 -i 以交互模式运行容器,通常与 -t 同时 ...
- Ubuntu 18.04 安装 Apache, MySQL, PHP7, phpMyAdmin
https://blog.csdn.net/sanve/article/details/80770675