前言:对于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表格的导入和导出的更多相关文章

  1. vue项目使用js-xlsx进行excel表格的导入和导出方法的简单原型封装

    前提:已经安装好 file-saver xlsx和 script-loader,如未安装,请查看 https://www.cnblogs.com/luyuefeng/p/8031597.html 新建 ...

  2. 使用PHPExcel实现Excel文件的导入和导出(模板导出)

    在之前有写过一篇文章讲述了使用PHP快速生成excel表格文件并下载,这种方式生成Excel文件,生成速度很快,但是有缺点是:1.单纯的生成Excel文件,生成的文件没有样式,单元格属性(填充色,宽度 ...

  3. vue中excal表格的导入和导出

    注意:vue中要实现表格的导入与导出,首先要install两个依赖, npm install -S file-saver xlsx  和  npm install -D script-loader.其 ...

  4. qt 操作excel表格

     自己编写的一个Qt C++类,用于操作excel表格,在Qt中操作excel需在.pro中增加CONFIG+=qaxcontainer配置. 1.打开Excel:objExcel = new QAx ...

  5. Python 利用Python操作excel表格之openyxl介绍Part2

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart()    ...

  6. Python 利用Python操作excel表格之openyxl介绍Part1

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...

  7. 【转】python操作excel表格(xlrd/xlwt)

    [转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...

  8. Python 利用Python操作excel表格之xlwt介绍

    利用Python操作excel表格之xlwt介绍   by:授客 QQ:1033553122 直接上代码   案例1 #!/usr/bin/env python # -*- coding:utf-8 ...

  9. 用NPOI、C#操作Excel表格生成班级成绩单

    在C#中利用NPOI操作Excel表格非常方便,几乎上支持所有的Excel表格本身所有的功能,如字体设置.颜色设置.单元格合并.数值计算.页眉页脚等等. 这里准备使用NPOI生成一个班级成绩单Exce ...

随机推荐

  1. Python的应用小案例

    1.python统计文本中每个单词出现的次数: #coding=utf-8__author__ = 'zcg' import collectionsimport os with open('abc.t ...

  2. 【不定期更新】FPGA/IC岗位常见笔试面试题总结(基础知识)

    1 数字IC(ASIC)设计流程: IC设计分为前端和后端.前端设计主要将HDL语言-->网表,后端设计是网表-->芯片版图. 前端主要有需求分析与架构设计.RTL设计.仿真验证.逻辑综合 ...

  3. 使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js

    前言:前端小白一枚,刚注册博客,先发个学习过程中新碰到小问题试试水吧~ 摘要:最近在学习bootstrap,偶然碰到了一个小问题,bootstrap网站也没有做过多的解释,今天分享给大家. 问题描述: ...

  4. Hexo server报错TypeError: Cannot read property 'utcOffset' of null解决方法

    最近刚刚开始使用Hexo,新建了一篇article,运行hexo server时候总是报错Cannot read property 'offset' of null. 最后发现是因为手贱把_confi ...

  5. Spring AOP 五大通知类型

    1.前置通知 在目标方法执行之前执行执行的通知. 前置通知方法,可以没有参数,也可以额外接收一个JoinPoint,Spring会自动将该对象传入,代表当前的连接点,通过该对象可以获取目标对象 和 目 ...

  6. BigDecimal 在for循环中相加注意事项

    public static void main(String[] args) { BigDecimal bigDecimal = new BigDecimal(1); for (int i = 0; ...

  7. Mysql 字符串指定位置插入空格

    UPDATE flow_data_243 SET data_15=CONCAT(LEFT(data_15,10),' ',RIGHT(data_15,LENGTH(data_15)-10)) WHER ...

  8. 蓝牙secure simple pair 概述

    Secure Simple Pairing,简称SSP,其流程主要分为六个部分: • IO capabilities exchange • Public key exchange • Authenti ...

  9. 遍历HashMap的四种方式

    转至:https://www.cnblogs.com/Berryxiong/p/6144086.html public static void main(String[] args) { Map< ...

  10. WebApi(五)-Swagger接口文档①简单集成

    1,通过NuGet引用Swashbuckle 2,打开项目属性-->生成,勾选XML文档文件,保存 3,找到项目App_Start文件夹下WebApiConfig查找GetXmlComments ...