php excel多,PHPExcel多表单数据导出
namespace app\excel;
use PHPExcel;
use PHPExcel_IOFactory;
class ExcelMultiSheetHelper
{
/**
* 多表单数据导出
* @param $data
* $data = [
* [
* 'title' => 'sheet1',
* 'list' =>
* [
* ['name' => 'sheet1_line1_name', 'item' => 'sheet1_line1_item'],
* ['name' => 'sheet1_line2_name', 'item' => 'sheet1_line1_item']
* ],
* 'column' =>
* [
* 'A' => ['title' => 'title_name', 'field' => 'name'],
* 'B' => ['title' => 'title_item', 'field' => 'item']
* ],
* ],
* [
* 'title' => 'sheet2',
* 'list' => [
* ['name' => 'sheet2_line1_name', 'item' => 'sheet2_line1_item'],
* ['name' => 'sheet2_line2_name', 'item' => 'sheet2_line1_item']
* ],
* 'column' =>
* [
* 'A' => ['title' => 'title_name', 'field' => 'name'],
* 'B' => ['title' => 'title_item', 'field' => 'item']
* ],
* ],
* ];
* @param string $fileName
*/
public static function exportToExcel($data, $fileName = '数据导出')
{
$objPHPExcel = new PHPExcel(); //实例化Excel类
foreach ($data as $key => $value) {
$objPHPExcel->createSheet($key);
$objPHPExcel->setActiveSheetIndex($key);
$activeSheet = $objPHPExcel->getactivesheet();
$activeSheet->setTitle($value['title']);
$column = $value['column'];
$list = $value['list'];
foreach ($list as $kk => $vv) {
$line = $kk + 2;
foreach ($column as $kkk => $vvv) {
$title = $vvv['title'];
$field = $vvv['field'];
$activeSheet->getColumnDimension($kkk)->setWidth(15); //设置单元格宽
$fieldData = !empty($vv[$field]) ? $vv[$field] : '';
$activeSheet->getStyle($kkk . 1)->getFont()->setName('宋体')->setBold(true); //字体加粗; //字体
$activeSheet->setcellvalue($kkk . 1, $title);//第A列 第1行,标题
$activeSheet->setcellvalue($kkk . $line, $fieldData);//第A列 第$k行
}
}
}
if ($objPHPExcel->getSheetCount() > 1) {
$objPHPExcel->removeSheetByIndex($objPHPExcel->getSheetCount() - 1); //删除模板sheet
}
//最后通过浏览器输出
static:: responseExcelFile($fileName, $objPHPExcel, 'Excel5');
exit;
}
/**
* 最后通过浏览器输出
* @param $fileName
* @param $objPHPExcel
* @param string $excelVersion
*/
public static function responseExcelFile($fileName, $objPHPExcel, $excelVersion = 'Excel5')
{
if (static:: isIE()) {//解决文件名含中文时下载乱码问题。测试浏览器:IE8\IE11\Chrome41\Firefox38
$fileName = urlencode($fileName);
}
$fileName .= $excelVersion === 'Excel5' ? '.xls' : '.xlsx';
ob_end_clean();
ob_start();
//添加fileDownload cookie便于jquery.fileDownload.js判断下载状态
header('Set-Cookie: fileDownload=true; path=/');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="' . $fileName . '"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, $excelVersion);
$objWriter->save('php://output');
}
/**
* 判断当前请求浏览器是否IE
* @return bool
*/
private static function isIE()
{
$u_agent = $_SERVER['HTTP_USER_AGENT'];
return (preg_match('/MSIE/i', $u_agent) || preg_match('/Trident/i', $u_agent)) && !preg_match('/Opera/i', $u_agent);
}
}
参考博客
php excel多,PHPExcel多表单数据导出相关推荐
- php表单生成Excel,PHPExcel多表单数据导出
namespace app\excel; use PHPExcel; use PHPExcel_IOFactory; class ExcelMultiSheetHelper { /** * 多表单数据 ...
- php自定义表单怎么导入excel,织梦dedeCMS将自定义表单数据导入到excel文档实现方法...
这篇文章主要为大家详细介绍了织梦dedeCMS将自定义表单数据导入到excel文档实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 织梦的自定义表单适用起 ...
- PoiDocxDemo【Android将表单数据生成Word文档的方案之二(基于Poi4.0.0),目前只能java生成】...
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这个是<PoiDemo[Android将表单数据生成Word文档的方案之二(基于Poi4.0.0)]>的扩展,上一篇是根 ...
- android 生成多个表单,Android根据word模板文档将表单数据生成word文档的方案整理...
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 尝试的方案包括以下几种: freemarker 只能在java项目上运行,无法在Android项目上运行: poi 解析doc文件可 ...
- python读取多个excel表_python 实现读取一个excel多个sheet表并合并的方法
python 实现读取一个excel多个sheet表并合并的方法 如下所示: import xlrd import pandas as pd from pandas import DataFrame ...
- php将表单数据存入数据库,php将表单中数据传入到数据库
无标题文档//创建表单 姓名 header("Content-type:text/html;charset=utf-8"); if(isset($_POST['submit'])) ...
- CI框架导出多个mysql查询结果到excel多个sheet表 各大量数据导入(数以万计)
mysql表结构 导出各班成绩到不同sheet表 public function testPHPExcel(){set_time_limit(0);//防止超时ini_set("memory ...
- ajax异步提交 java_jquery ajax异步提交表单数据的方法
使用jquery的ajax方法可以异步提交表单,成功后后台返回json数据,回调函数处理,可以不用刷新页面,达到异步的目的: 处理表单的数据可以用serialize()方法进行序列化,而如果提交的数据 ...
- 数据验证html,JavaScript 表单数据验证
JavaScript 表单 HTML 表单验证可以通过 JavaScript 来完成. HTML 表单验证也可以通过浏览器来自动完成. 如果表单字段 (fname) 的值为空, required 属性 ...
最新文章
- python零基础能学吗 知乎-Python零基础学习能学好吗?老男孩Python面授班
- EelemntUI中e-form表单校验的使用以及表单校验的规则
- osgi 模块化_OSGI –模块化您的应用程序
- 计算机系统启动的加点顺序是,操作系统引导探究
- 一文彻底明白linux中的selinux到底是什么
- [other] 代码量代码复杂度统计-lizard
- 微信网页支付小白指南-域内浏览器支付 + 外部浏览器支付
- 寻找因数——算法简化
- Android手机写Java代码的软件
- 神经网络拓扑图怎么画,神经网络和图神经网络
- 【NCRE】---拼接SQL语句(Case....When语句)
- 三菱FX5U传送指令
- Field communityMapper in com.estate.service.impl.CommunityServiceImpl required a bean of type ‘
- EigenGame:将主成份分析(PCA)作为一个博弈游戏
- Java基于opencv—矫正图像
- python学习之给小学生数学运算题(混合加减乘除法)
- 【python】分析静态网页内容与获取
- CSS元素的显示和隐藏
- 企业为何要挖掘专利和专利布局,如何做?
- Oracle 11g自带的sqldeveloper.exe打不开问题
热门文章
- 运输问题系数矩阵matlab,基于MATLAB的运输问题求解方法.pdf
- PageOffice实现文件在线安全预览——禁止编辑、下载、复制等
- mybatis resultMap映射详解
- siki学院API补充的笔记
- 带你看看GeoJSON是什么!
- [Unity3D]Unity3D游戏开发之仿仙剑奇侠传仙灵岛机关的实现
- 企业微信小助理自动回复
- 小机、数据库、存储选型应该注意的几个事项(摘自ORACLE高可用环境-陈吉平)
- 2018软件测试从业者精进指南 。
- 885计算机科学与技术专业基础综合,2017年北京理工大学软件学院885软件工程专业基础综合考研题库...