c# excel导出png_PHP 操作 Excel ,你的瓶颈不再是PHP!

184798e839c0db01f15180486e91d01d.png

xlswriter是一个 PHP C 扩展,可用于在 Excel 2007+ XLSX 文件中读取数据、插入多个工作表,写入文本、数字、公式、日期、图表、图片和超链接。

GitHub​github.com

它具备以下特性:

一、写入

  • 100%兼容的Excel XLSX文件
  • 完整的Excel格式
  • 合并单元格
  • 定义工作表名称
  • 过滤器
  • 图表
  • 工作表PNG/JPEG图像
  • 用于写入大文件的内存优化模式
  • 适用于Linux,FreeBSD,OpenBSD,OS X,Windows
  • 编译为32位和64位
  • FreeBSD许可证
  • 唯一的依赖是zlib

二、读取

  • 完整读取数据
  • 光标读取数据
  • 按数据类型读取

三、工具

  • XLSX 转 CSV

基准测试

测试环境

Macbook Pro 13 inch
CPU:Intel Core i5 
Memory:16GB 2133MHz LPDDR3

测试数据(20列)

ABCDEFGHIJKLMNOPQRSTUVWXYZ

导出

两种内存模式导出50万行数据(每行20列)
  • 普通模式:耗时 16S,内存 991.8 MB
  • 固定内存模式:耗时 24S,内存 <1 MB

读取

50万行数据(单行20列)
  • 游标模式:耗时 23S,内存仅 <1 MB
  • 回调模式:耗时 24S,内存仅 <1 MB

安装

Unix

pecl install xlswriter

Windows

DLL 下载途径

  1. GitHub Release
  2. PECL

快速上手

普通模式导出

$config = [
  'path' => '/home/viest/xlswriter'
];

$excel = new VtifulKernelExcel($config);

$excel->fileName('tutorial.xlsx', 'sheet1')
    ->header(['Item', 'Cost'])
    ->data([
        ['Rent', 1000],
        ['Gas',  100],
        ['Food', 300],
        ['Gym',  50],
    ])
    ->output();

固定内存模式导出

$config = [
  'path' => '/home/viest/xlswriter'
];

$excel = new VtifulKernelExcel($config);

$excel->constMemory('tutorial.xlsx', 'sheet1')
    ->header(['Item', 'Cost'])
    ->data([
        ['Rent', 1000],
        ['Gas',  100],
        ['Food', 300],
        ['Gym',  50],
    ])
    ->output();

游标模式读取

$config = [
  'path' => '/home/viest/xlswriter'
];

$excel = new VtifulKernelExcel($config);

$sheet = $excel->openFile('tutorial.xlsx')
    ->openSheet();

while ($row = $sheet->nextRow()) {
  //
}

回调模式读取

$config = [
  'path' => '/home/viest/xlswriter'
];

$excel = new VtifulKernelExcel($config);

$excel
    ->openFile('tutorial.xlsx')
    ->nextCellCallback(function ($row, $cell, $data) {
  	    //
    });

7223b4bc750822674136a0dbd476eecc.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值