导出Excel封装

vue导入导出excel组件封装 vue导入导出excel组件 可直接使用 参考以下博客,侵删 参考的博客 ##一: 项目安装依赖 npm install --save xlsx 在项目中创建文件夹及文件如下图: excel-import.vue 源码: <template> <div class="index" v-loading.fullscreen.lock="fullscreenLoading" e... 阅读详情
/**
 * 导出exsl
 * */
function exportExcel($expTitle,$expCellName= array (),$expTableData){
    $xlsTitle = iconv( 'utf-8' , 'gb2312' , $expTitle); //文件名称
    $fileName = $expTitle; //or $xlsTitle 文件名称可根据自己情况设定
    $dataNum = count($expTableData);
    vendor( "PHPExcel" );
//  ob_clean();
    ob_end_clean();
    $objPHPExcel = new \PHPExcel();
    $cellName = array ( 'A' , 'B' , 'C' , 'D' , 'E' , 'F' , 'G' , 'H' , 'I' , 'J' , 'K' , 'L' , 'M' , 'N' );
    $objPHPExcel->getActiveSheet()->getColumnDimension( 'A' )->setWidth(12);
    $objPHPExcel->getActiveSheet()->getColumnDimension( 'I' )->setWidth(30);
//     $objPHPExcel->getActiveSheet()->getStyle('B')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
//     $objPHPExcel->getActiveSheet()->getStyle('D')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);
    
    $cellNum = count($expCellName);
     for ($i=0;$i<$cellNum;$i++){
        $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i]. '1' , $expCellName[$i][1]);
          if ($cellName[$i]== "I" || $cellName[$i]== "A" ){
             
         } else {
             $objPHPExcel->getActiveSheet()->getColumnDimension($cellName[$i])->setWidth(20);
         }
        $objPHPExcel->getActiveSheet(0)->mergeCells($cellName[$i]. '1:' .$cellName[$i]. '2' );
    }
     for ($i=1;$i<$dataNum+1;$i++){
          for ($j=0;$j<$cellNum;$j++){
             $objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+2), ' ' .$expTableData[($i-1)][$expCellName[($j)][0]]);
         }
    }
    header( 'pragma:public' );
    header( 'Content-type:application/vnd.ms-excel;charset=utf-8;name="' .$xlsTitle. '.xls"' );
    header( "Content-Disposition:attachment;filename= $fileName .xls" ); //attachment新窗口打印inline本窗口打印
    $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5' );
    $objWriter->save( 'php://output' );
     exit ;
}
下面有个附件是找到的PHPExcel类和这个类的使用方式

include 'PHPExcel.php';
include 'PHPExcel/Writer/Excel2007.php';
//或者include 'PHPExcel/Writer/Excel5.php'; 用于输出.xls的
创建一个excel
$objPHPExcel = new PHPExcel();

// 输出Excel表格到浏览器下载
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="abc.xls"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');

// If you're serving to IE over SSL, then the following may be needed
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 = new PHPExcel_Writer_Excel5($objPHPExcel);
$objWriter->save('php://output');

——————————————————————————————————————–
设置excel的属性:
创建人
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");
最后修改人
$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");
标题
$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");
题目
$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");
描述
$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");
关键字
$objPHPExcel->getProperties()->setKeywords("office 2007 openxml php");
种类
$objPHPExcel->getProperties()->setCategory("Test result file");
——————————————————————————————————————–


设置当前的sheet
$objPHPExcel->setActiveSheetIndex(0);

设置sheet的name
$objPHPExcel->getActiveSheet()->setTitle('Simple');

设置单元格的值
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'String');
$objPHPExcel->getActiveSheet()->setCellValue('A2', 12);
$objPHPExcel->getActiveSheet()->setCellValue('A3', true);
$objPHPExcel->getActiveSheet()->setCellValue('C5', '=SUM(C2:C4)');
$objPHPExcel->getActiveSheet()->setCellValue('B8', '=MIN(B2:C5)');

合并单元格
$objPHPExcel->getActiveSheet()->mergeCells('A18:E22');

分离单元格
$objPHPExcel->getActiveSheet()->unmergeCells('A28:B28');

冻结窗口
$objPHPExcel->getActiveSheet()->freezePane('A2');

保护cell
$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); // Needs to be set to true in order to enable any worksheet protection!
$objPHPExcel->getActiveSheet()->protectCells('A3:E13', 'PHPExcel');

设置格式
// Set cell number formats
echo date('H:i:s') . " Set cell number formats\n";
$objPHPExcel->getActiveSheet()->getStyle('E4')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);
$objPHPExcel->getActiveSheet()->duplicateStyle( $objPHPExcel->getActiveSheet()->getStyle('E4'), 'E5:E13' );

设置宽width
// Set column widths
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);

// 设置单元格高度
// 所有单元格默认高度
$objPHPExcel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(15);
// 第一行的默认高度
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(30);

设置font
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setName('Candara');
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setSize(20);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
$objPHPExcel->getActiveSheet()->getStyle('E1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);
$objPHPExcel->getActiveSheet()->getStyle('D13')->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('E13')->getFont()->setBold(true);

设置align
$objPHPExcel->getActiveSheet()->getStyle('D11')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('D12')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('D13')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);

//垂直居中
$objPHPExcel->getActiveSheet()->getStyle('A18')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

设置column的border
$objPHPExcel->getActiveSheet()->getStyle('A4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('B4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('C4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('D4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
$objPHPExcel->getActiveSheet()->getStyle('E4')->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

设置border的color
$objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getLeft()->getColor()->setARGB('FF993300');
$objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getTop()->getColor()->setARGB('FF993300');
$objPHPExcel->getActiveSheet()->getStyle('D13')->getBorders()->getBottom()->getColor()->setARGB('FF993300');
$objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getTop()->getColor()->setARGB('FF993300');
$objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getBottom()->getColor()->setARGB('FF993300');
$objPHPExcel->getActiveSheet()->getStyle('E13')->getBorders()->getRight()->getColor()->setARGB('FF993300');

设置填充颜色
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('A1')->getFill()->getStartColor()->setARGB('FF808080');
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objPHPExcel->getActiveSheet()->getStyle('B1')->getFill()->getStartColor()->setARGB('FF808080');


加图片
/*实例化插入图片类*/
$objDrawing = new PHPExcel_Worksheet_Drawing();
/*设置图片路径 切记:只能是本地图片*/
$objDrawing->setPath($img_val);
/*设置图片高度*/
$objDrawing->setWidth(200);
$img_height[] = $objDrawing->getHeight();
/*设置图片要插入的单元格*/
$objDrawing->setCoordinates($img_k[$j].$i);
/*设置图片所在单元格的格式*/
$objDrawing->setOffsetX(10);
$objDrawing->setOffsetY(10);
$objDrawing->setRotation(0);
$objDrawing->getShadow()->setVisible(true);
$objDrawing->getShadow()->setDirection(50);
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());

PHPExcel-1.8.2.zip phpexcel最新版本1.8.2 立即下载

相关推荐

PHPExcel-1.8下载

PHPExcel-1.8下载

phpExcel中文帮助手册

下面是总结的几个使用方法 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include 'PHPExcel/Writer/Excel5.php'; 用于输出.xls的 创建一个excel $objPHPExcel = new PHPExcel(); 保存excel—2007格式 $objWri

.Net/PHP/Java程序设计 1238

PHPExcel-1.8.zip_phpexcel

PHP excel方法以及CSS格式文件等,可参考

【PHPExcel】中文帮助手册|PHPExcel使用方法

下面是总结的几个使用方法 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include 'PHPExcel/Writer/Excel5.php'; 用于输出.xls的 创建一个excel $objPHPExcel = new PHPExcel(); 保存excel—2007格式 $objWriter =...

qq_25285531的博客 853

华为昇腾服务器npu中安装paddle,pytorch等环境,训练代码迁移适配等问题记录

参考文档:https://github.com/PaddlePaddle/PaddleCustomDevice/blob/develop/backends/npu/README_cn.md

qq_29220369的博客 4112

CondaHTTPError: HTTP 404 NOT FOUND for url

用conda创建新环境时出现问题了。

qq_40713201的博客 1269

基于poi的excel导出封装

基于poi的excel导出封装 之前我所过的项目中,进行excel导出时,无一例外地都是先读取excel模板,然后再导出excel,修改导出这块的时候,代码和excel模板都得修改,使用起来感觉很麻烦; 还有,如果我要在一个sheet中导出用户数据和省份数据时,后端实现起来也很复杂。 我对基于poi导出excel进行了封装,现在贴出来,与大家交流交流。 主要名词解释: ExcelModel:exc...

m0_37133375的博客 398

MATLAB新手必看:SVPWM七段式算法仿真全流程解析(附完整代码)

本文为MATLAB新手和电机控制初学者提供了SVPWM七段式算法的完整仿真与代码实现指南。文章详细解析了从扇区判断、矢量作用时间计算到PWM波形生成的全流程,并附带了可直接运行的MATLAB代码,帮助读者在理解FOC控制核心算法的基础上,快速掌握工程仿真与调试技巧。

weixin_29074295的博客 281

java封装导出Excel

最近做项目的过程中需要实现导出excel,他们有已经写好的实现,但是只是针对他们业务逻辑的,所以我就想能不能封装一个通用的方法,于是找出之前用过的导出方法,然后照着封装了一个,还可以。但是两个方法也有不同,一个用的是WritableWorkbook(JXL),另一个用的是HSSFWorkbook(POI)。我们先来看看两者有什么关系。

追梦 4692

【前端】【面试】【业务场景】前端如何获取并生成设备唯一标识

问题:前端如何获取并生成设备唯一标识?核心要点:浏览器原生信息有限,但通过组合多个维度可生成设备指纹(Device Fingerprint),用于唯一标识设备。常见方式浏览器信息(User-Agent)屏幕与系统参数本地存储标识(localStorage / cookie)第三方指纹库(如 FingerprintJS)方式优点缺点手动组合指纹实现简单不稳定,识别率低持久化强容易被用户清除识别率高、稳定性好依赖第三方库IP 地址识别网络识别粗略共享网络环境下重复可能大。

qq_59344127的博客 1794

实战演练 | ABAQUS显式动力学分析在金属切削仿真中的应用

本文详细介绍了如何利用ABAQUS显式动力学分析进行金属切削过程的二维仿真。通过从零开始的完整流程,包括几何建模、材料本构与失效定义、网格划分、接触设置、边界条件施加,到结果后处理与切削力提取,为工程师和研究人员提供了实用的仿真方法,以优化刀具设计和加工工艺。

purple的博客 930

React接收excel文件下载导出功能封装

React接收excel文件下载导出功能封装 因为最近项目又需求要导出excel,所以封装了这部分的功能,对fetch的封装做了修改,使之后的调用导出功能更为方便 首先这个项目请求是对fetch进行过封装的 ,如果对fetch有了解的话,我们知道fetch种response返回的是一个实现了Body接口的对象, 所以可以使用Body接口中的方法 json()处理json,blob ()处理成...

有问题 ! 请留言 ! 3434

ANSYS ICEM CFD 2023R2 结构化网格实战:翼型绕流 10 步生成高质量六面体网格

在计算流体力学(CFD)分析中,网格质量直接决定了仿真结果的精度和收敛性。对于翼型绕流这类典型的外部流动问题,结构化网格因其规则的节点排列和优异的边界层捕捉能力,成为高精度模拟的首选方案。通过在后缘处添加局部H型拓扑,并将过渡区增长率降至1.1,最终使网格质量指标提升40%,计算收敛速度提高2倍。这印证了结构化网格在复杂流动模拟中的不可替代性——虽然初期投入时间较多,但能显著提升计算精度和稳定性。在开始网格划分前,合理的几何准备是确保后续流程顺利的关键。对于翼型绕流,O型网格拓扑能提供最佳的边界层适应性。

weixin_30731305的博客 362

封装POI excel导出,通过配置xml模板实现导出

平时在业务系统开发中,通常要进行业务数据导出到excel中,如果只是一个两个业务功能的导出我们直接写代码实现即可,但是若是有很多不同的业务数据需要导出时,如果都通过代码去构建workbook、sheet、row、cell的话,会造成大量的代码重复,同时也不利于后期的代码维护,所以这里针对POI excel进行封装,封装之后,开发者只需要配置xml文件,然后编写业务数据查询的代码即可,无需再关注...

nmvbliy的专栏 1093

7-15 估值一亿的AI核心代码

函数封装,含一个字符串中的所有的某个字串全部替换成另一个的函数,还有判断是否独立的函数以上图片来自新浪微博。!

weixin_73529240的博客 601

使用Matlab实现海洋监视雷达检测仿真

海洋监视雷达是一项重要的海洋探测技术,可以用于海上船只、飞机、潜艇等目标的探测和监视,具有广泛的应用价值。本篇文章将介绍如何使用Matlab进行海洋监视雷达的检测仿真,并提供相应的源代码。本篇文章提供了利用Matlab进行海洋监视雷达检测仿真的基本思路和代码实现。读者可以根据自己的需求进行修改和优化,以适应不同的应用场景。使用Matlab实现海洋监视雷达检测仿真。

2301_78484069的博客 448

java后台导出Excel封装通用javaBean

java后台导出Excel封装通用javaBean 需要下载poi依赖jar包,配合web端下载使用 一、基础工具 工具代码 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.text.DecimalFormat; import ...

u010636072的博客 791

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

java excel poi 封装_实战练习之java导出Excel方法封装

本文使用poi实现导出Excel,本文将要输入的参数提取出来,封装成公用方法,重点是对导出文件的内容进行的处理。将要输出的数据存放在List中,以键(数据库对应字段名称)值(对应数据)对的形式传给封装的公用方法,同时将每一列展示的字段对应的数据库字段名称一次存放在Listfields中,根据fields中存放的字段名称找到map中对应的值,从而实现各种Bean都可以调用此方法实现导出,摆脱了限制。...

weixin_30096321的博客 262

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

POI读取、导出excel封装

一、导入jar 本项目使用Maven管理jar,这里添加POI相关的jar依赖 &lt;!-- POI --&gt; &lt;!-- https://mvnrepository.com/artifact/org.apache.poi/poi --&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.poi...

下半夜的风 812

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

php基于phpspreadsheet导出excel类封装

phpspreadsheet安装: composer require phpoffice/phpspreadsheet use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; //可以生成多种格式类 use PhpOffice\PhpSpreadsheet\IOFactory;...

qq_38829280的博客 840

封装poi导出EXCEL

一、扫盲 1、POI       对于POI而言,可以说是导出EXCEL的基础,其他的第三方工具都是在其基础上做的封装,但是可操作性上由于要逐行逐列的进行操作,所以可操作性上来说比较繁琐,个人不推荐使用。 2、JXL       JXL是通过java操作excel表格的工具类库,丰富了许多的函数来解决POI操作性上的缺陷。 二、对比 1、POI

qq_35595498的博客 156

Java导出EXCEL的封装

    前端时间由于对导出数据的需求比较多,excel或者pdf的都有,因此整理了下常用的动能,完成了对apache.poi的简单封装,以此来达到快速开发的目的,下面会提供API文档以及源码,欢迎交流指正。1.API文档2.代码解析2.1 参数配置类public class ExcelConfig { public static final String XLSX = "xlsx"; ...

lv_jinzhao的博客 300

公司大佬对 Excel 导入、导出的封装,那叫一个妙啊!

目前我们使用的这个EasyExcel版本是3.3.2,但是发现,导出的时候按照模板去导出文件数据的话只能支持xls,xlsx的不支持,目前还未有解决方案,有遇到的朋友还望不吝赐教。最近在封装公司统一使用的组件,主要目的是要求封装后开发人员调用简单,不用每个项目组中重复去集成同一个依赖l,写的五花八门,代码不规范,后者两行泪。以上只是一个简单的使用情况,我们还封装了支持模板的导入、导出,数据转换等问题,客官请继续向下看。这些个注解是EasyExcel的注解,我们做了保留,仍然使用他的注解。

hello world! 145

前端通过axios封装的get或post请求,导出页面表格内容为Excel

1. post 请求 export default function (data) { axios({ method: 'post', url: data.url, //后端接口地址 responseType: 'blob', //bolb格式的请求方式 headers: { Authentication: getToken('Admin-Token') //请求头 }, d

小巧r的博客 3175

Spring Boot项目Excel导出功能封装

本文介绍了基于Spring Boot和EasyExcel的Excel导出功能封装库allbs-excel的使用方法。通过添加@ExportExcel和@ExcelProperty注解,可以快速实现单Sheet和多Sheet导出功能,支持空表头导出、仅导出注解字段等特性。文章详细演示了如何设置列宽行高、自动生成行号等样式配置,并提供了项目源码地址和Maven依赖配置。该库简化了Excel导出开发流程,使开发者能专注于业务逻辑实现。

N0t_F0und_404的博客 934

Vue项目中封装Excel的导出和导入功能

为了提升用户体验,可能还需要配合Element UI或其他UI库创建上传组件,并处理错误提示和进度显示等功能。// 解析成功,返回解析后的JSON数据。console.log('导入的数据:', importedData);// 对importedData进一步处理,如存储到数据库等操作。// 数据预处理,根据fields将data转换成二维数组格式。// 创建工作簿并添加worksheet。是要导出的数据源,是一个数组,每个元素代表一行;// 添加文件选择事件监听。// 导入xlsx库。

weixin_45940975的博客 639
上一篇: curl请求
下一篇: tp指定id排序
longzai89757
博客等级 码龄9年 14粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值