高性能 + 百万级excel数据导入导出
高性能 + 百万级excel数据导入导出
- 内容介绍
- github地址
- 使用文档地址
- 安装注意事项
- 仅以mac举例
- ide中提示相关代码
- 下载demo
内容介绍
【转载】https://learnku.com/articles/38582
github地址
https://github.com/viest/php-ext-xlswriter
使用文档地址
【转载】https://xlswriter-docs.viest.me/zh-cn
安装注意事项
仅以mac举例
看官方文档,我自己使用如下步骤反正是安装失败
在本地mac电脑上安装扩展,并没有成功。但是,这里还有另一种方法,简单,快捷且有效。
本人本地是laradock环境,如果有人同我一样,可以继续往下看
- 1.直接编辑laradock文件中的env,和修改php-fpm与workspace配置
如:
.env文件:
### WORKSPACE #############################################
WORKSPACE_INSTALL_XLSWRITER=true
### PHP_FPM ###############################################
PHP_FPM_INSTALL_PHP_XLSWRITER=true
此处插一句:为什么workspace也要安装
这是因为当使用xlswriter时,使用本地配置的域名,走的是laradock容器,而代码在workspace容器中,因此如果workspace容器内没有安装此插件,代码还是会提示插件不存在
- 2.修改laradock根目录下docker-compose.yml文件
### PHP-FPM ##############################################php-fpm:build:context: ./php-fpmargs:- INSTALL_XLSWRITER=${PHP_FPM_INSTALL_PHP_XLSWRITER}
### Workspace Utilities ##################################workspace:build:context: ./workspaceargs:- INSTALL_XLSWRITER=${WORKSPACE_INSTALL_XLSWRITER}
- 3.修改根目录下php-fpm/Dockerfile和workspace/Dockerfile
php-fpm/Dockerfile
#####################################
# xlswriter:
#####################################
USER root
ARG INSTALL_XLSWRITER=false
RUN if [ ${INSTALL_XLSWRITER} = true ]; then \pecl install xlswriter \&& printf "extension=xlswriter.so\n" > $PHP_INI_DIR/conf.d/xlswriter.ini \&& php -m | grep -q 'xlswriter' \
;fi
/workspace/Dockerfile
#####################################
# xlswriter:
#####################################
USER root
ARG INSTALL_XLSWRITER=false
RUN if [ ${INSTALL_XLSWRITER} = true ]; then \pecl install xlswriter \&& printf "extension=xlswriter.so\n" > /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/xlswriter.ini \&& php -m | grep -q 'xlswriter' \
;fi
- 4.保存成功后,重新编译,docker-compose build php-fpm 与docker-compose build workspace
- 5.进入容器,执行php -m命令,查看插件是否安装成功
ide中提示相关代码
composer require viest/php-ext-xlswriter-ide-helper:dev-master
下载demo
生成fileObject
pubic function generateFileObject(){$config = ['path' => config('*.*.path')];$excel = new \Vtiful\Kernel\Excel($config);return $excel->constMemory($this->fileName);
}
addStyle
private function addStyle(Object $fileObject){$fileHandle = $fileObject->getHandle();$format = new \Vtiful\Kernel\Format($fileHandle);//组合样式,字体大小,字体颜色,背景颜色,粗体$boldColorStyle = $format->bold()->fontSize(14)->fontColor(\Vtiful\Kernel\Format::COLOR_ORANGE)->align(\Vtiful\Kernel\Format::FORMAT_ALIGN_VERTICAL_CENTER)->align(\Vtiful\Kernel\Format::FORMAT_ALIGN_CENTER)->toResource();return $fileObject->setRow('A1',30, $boldColorStyle)->header($this->header)->gridline(\Vtiful\Kernel\Excel::GRIDLINES_SHOW_ALL);
}
use
$fileObject = $this->generateFileObject();
$fileObject = $this->addStyle($fileObject);
$fileObject->data($data);
$fileObject->output();
其中$data为设定或sql查询所得result
高性能 + 百万级excel数据导入导出相关推荐
- java百万级大数据量导出
java实现百万级大数据量导出 实现方式一 一,分析 excel导出如果数据量过大,会出现两个内存溢出的问题 查绚数据量过大,导致内存溢出(可通过分批查绚解决) 下载的时候大EXCEL转换的输出流内存 ...
- java自定义注解实现excel数据导入导出,设置单元格数据验证与生成省市区多列联动效果
本文通过自定义注解实现excel数据导入导出.以及设置excel文件中列数据验证,即用户在excel文件中输入数据时就可以对数据格式验证是否符合,节省了程序中过多的数据验证操作,注解还额外提供了一系列 ...
- 基于delphi的excel数据导入导出
因为淘宝客户的一个小需求,写了一个"基于delphi 7的excel数据导入导出"小工具.为了抛砖引玉,将这个小工具分享出来.希望对初学者和用得到的朋友有点点小小的帮助.oracl ...
- SpringBoot 整合eazyPoi 4.3.0 Excel数据导入导出(持续更新功能)
目录 依赖 注解用法说明 @ExcelTarget 绑定Id @Excel 用在字段上面 @ExcelCollection 实体代码 Excel导出 正常数量导出(1-2W条) 大数据量导出 多she ...
- java横向导出excel_利用Java进行Excel的数据导入导出
1. 引言 MS 的电子表格(Excel)是Office 的重要成员,是保存统计数据的一种常用格式.在一 个Java 应用中,将一部分数据生成Excel 格式,是与其他系统无缝连接的重要手段.在远程 ...
- C# excel文件导入导出
在C#交流群里,看到很多小伙伴在excel数据导入导出到C#界面上存在疑惑,所以今天专门做了这个主题,希望大家有所收获! 环境:win10+vs2017 界面:主要以演示为主,所以没有做优化,然后主界 ...
- php导出1万条数据excel_实用!用PHP导出百万级大数据到Excel
实用!用PHP导出百万级大数据到Excel 作者:PHPYuan 时间:2018-07-31 03:41:41 关注我们的人 月薪都过万了 一.数据量分析 假设我们需要单日导入的数量为20W+ Exc ...
- easypoi导出数值型_SpringBoot使用EasyPoi进行数据导入导出Excel(一)
在实际项目开发中,对于Excel的导入导出还是很常见的需求,比如说将数据根据模板批量导入到数据库中,以及将数据库中的数据批量导出陈Excel的形式 现有需求: 下载固定的导入Excel模板 导入Exc ...
- SQL SERVER 与ACCESS、EXCEL的数据导入导出转换
* 说明:复制表(只复制结构,源表名:a 新表名:b) select * into b from a where 1<>1 * 说明:拷贝表(拷贝数据,源表名:a 目标表名:b ...
最新文章
- 10篇一作SCI博士的走心分享--宏组学研究之“道”
- 3Animation动画的创建,CCSpeed,CCFollow
- AttributeError系列之:AttributeError: 'tuple' object has no attribute 'shape'
- php 获取每年的节假日,shell获取每年农历节日的日期
- Wincc V7.3SE安装截图
- python获取mac窗口程序内容_在Mac OS X中获取当前活动窗口/文档的标题
- 案例49-crm练习获取客户列表带有分页和筛选功能
- IOS开发笔记(1)---Hello World
- iterator 怎么使用甀_Iterator的使用
- wifi频率和zigbee干扰_浅谈ZigBee和Wi—Fi的共存和干扰
- latex插入图像、表格、其他latex脚本时的路径设置
- ONVIF流媒体播放流程
- Android Studio下载SDK的链接
- 2022年安全员-B证题库及答案
- 用Python实现双色球随机选号
- idea破解(到2100年)
- Linux系统优化篇
- 中国移动CMPP协议、联通SGIP协议、电信SMGP协议短信网关
- 与NFC相关的几种卡片
- Muu云课堂V2v2.5.8