simple_export_demo.php 972 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. /**
  3. * 简单导出demo
  4. */
  5. require_once(__DIR__ . '/../vendor/autoload.php');
  6. use Pxlswrite\Pxlswrite;
  7. $fileObj = new Pxlswrite(['path' => __DIR__. '/uploads']);
  8. $filePath = $fileObj
  9. ->fileName('simple.xlsx','sheet1') //fileName 会自动创建一个工作表,你可以自定义该工作表名称,工作表名称为可选参数
  10. ->field([
  11. 'username'=>['name'=>'用户名'],
  12. 'age'=>['name'=>'年龄']
  13. ]) //设置字段&表格头
  14. ->setGeneralData('generateData') //通过回调生成器方法向excel填充数据
  15. ->output(); //输出excel文件到磁盘,返回文件路径
  16. $fileObj->download($filePath); //下载excel文件
  17. /**
  18. * 数据生成器方法 封装数据获取逻辑 通过yield返回 节省内存
  19. */
  20. function generateData(){
  21. for($i=0;$i<10000;$i++){
  22. yield [
  23. [
  24. 'username' => '匿名用户'.rand(1,9999),
  25. 'age' => rand(1,100),
  26. ]
  27. ];
  28. }
  29. }