高性能 + 百万级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数据导入导出相关推荐

  1. java百万级大数据量导出

    java实现百万级大数据量导出 实现方式一 一,分析 excel导出如果数据量过大,会出现两个内存溢出的问题 查绚数据量过大,导致内存溢出(可通过分批查绚解决) 下载的时候大EXCEL转换的输出流内存 ...

  2. java自定义注解实现excel数据导入导出,设置单元格数据验证与生成省市区多列联动效果

    本文通过自定义注解实现excel数据导入导出.以及设置excel文件中列数据验证,即用户在excel文件中输入数据时就可以对数据格式验证是否符合,节省了程序中过多的数据验证操作,注解还额外提供了一系列 ...

  3. 基于delphi的excel数据导入导出

    因为淘宝客户的一个小需求,写了一个"基于delphi 7的excel数据导入导出"小工具.为了抛砖引玉,将这个小工具分享出来.希望对初学者和用得到的朋友有点点小小的帮助.oracl ...

  4. SpringBoot 整合eazyPoi 4.3.0 Excel数据导入导出(持续更新功能)

    目录 依赖 注解用法说明 @ExcelTarget 绑定Id @Excel 用在字段上面 @ExcelCollection 实体代码 Excel导出 正常数量导出(1-2W条) 大数据量导出 多she ...

  5. java横向导出excel_利用Java进行Excel的数据导入导出

    1. 引言 MS 的电子表格(Excel)是Office 的重要成员,是保存统计数据的一种常用格式.在一 个Java 应用中,将一部分数据生成Excel 格式,是与其他系统无缝连接的重要手段.在远程 ...

  6. C# excel文件导入导出

    在C#交流群里,看到很多小伙伴在excel数据导入导出到C#界面上存在疑惑,所以今天专门做了这个主题,希望大家有所收获! 环境:win10+vs2017 界面:主要以演示为主,所以没有做优化,然后主界 ...

  7. php导出1万条数据excel_实用!用PHP导出百万级大数据到Excel

    实用!用PHP导出百万级大数据到Excel 作者:PHPYuan 时间:2018-07-31 03:41:41 关注我们的人 月薪都过万了 一.数据量分析 假设我们需要单日导入的数量为20W+ Exc ...

  8. easypoi导出数值型_SpringBoot使用EasyPoi进行数据导入导出Excel(一)

    在实际项目开发中,对于Excel的导入导出还是很常见的需求,比如说将数据根据模板批量导入到数据库中,以及将数据库中的数据批量导出陈Excel的形式 现有需求: 下载固定的导入Excel模板 导入Exc ...

  9. SQL SERVER 与ACCESS、EXCEL的数据导入导出转换

    * 说明:复制表(只复制结构,源表名:a 新表名:b)       select * into b from a where 1<>1 * 说明:拷贝表(拷贝数据,源表名:a 目标表名:b ...

最新文章

  1. 10篇一作SCI博士的走心分享--宏组学研究之“道”
  2. 3Animation动画的创建,CCSpeed,CCFollow
  3. AttributeError系列之:AttributeError: 'tuple' object has no attribute 'shape'
  4. php 获取每年的节假日,shell获取每年农历节日的日期
  5. Wincc V7.3SE安装截图
  6. python获取mac窗口程序内容_在Mac OS X中获取当前活动窗口/文档的标题
  7. 案例49-crm练习获取客户列表带有分页和筛选功能
  8. IOS开发笔记(1)---Hello World
  9. iterator 怎么使用甀_Iterator的使用
  10. wifi频率和zigbee干扰_浅谈ZigBee和Wi—Fi的共存和干扰
  11. latex插入图像、表格、其他latex脚本时的路径设置
  12. ONVIF流媒体播放流程
  13. Android Studio下载SDK的链接
  14. 2022年安全员-B证题库及答案
  15. 用Python实现双色球随机选号
  16. idea破解(到2100年)
  17. Linux系统优化篇
  18. 中国移动CMPP协议、联通SGIP协议、电信SMGP协议短信网关
  19. 与NFC相关的几种卡片
  20. Muu云课堂V2v2.5.8

热门文章

  1. 什么是云管平台?业界知名的云管平台品牌有哪些?
  2. windows平台下安装ES
  3. 【Activiti工作流】11.并行网关
  4. 我国网络安全现状怎么样?如何应对网络安全风险?
  5. 常用Linux操作系统的发展历史
  6. 中科曙光I620-G15服务器登录密码破解
  7. python3中Failed building wheel for xxx”的解决办法
  8. 2022P02014139杨智关于香农编码、哈夫曼编码和费诺编码的比较
  9. day - 8 作业
  10. 【回溯】leetcode1219.黄金矿工