导出 - 固定内存模式

内存

最大内存使用量 = 最大一行的数据占用量

注意

固定内存模式下,单元格按行落盘,如果当前操作的行已落盘则无法进行任何修改;

函数原型

  1. constMemory(string $fileName[, string $sheetName = 'Sheet1', bool $enableZip64 = true]);

提示

WPS 需要关闭 zip64,否则打开文件可能报文件损坏;

该问题已反馈给WPS,修复进度未知,并且该问题在出现在iOS、Mac、Windows等平台,Android平台无异常。

示例

开启 ZIP64

  1. $config = ['path' => './tests'];
  2. $excel = new \Vtiful\Kernel\Excel($config);
  3. // ConstMemory 默认开启 ZIP64
  4. $fileObject = $excel->constMemory('tutorial01.xlsx');
  5. $fileHandle = $fileObject->getHandle();
  6. $format = new \Vtiful\Kernel\Format($fileHandle);
  7. $boldStyle = $format->bold()->toResource();
  8. $fileObject->setRow('A1', 10, $boldStyle) // 写入数据前设置行样式
  9. ->header(['name', 'age'])
  10. ->data([['viest', 21]])
  11. ->output();

关闭 ZIP64

  1. $config = ['path' => './tests'];
  2. $excel = new \Vtiful\Kernel\Excel($config);
  3. // 第三个参数 False 即为关闭 ZIP64
  4. $fileObject = $excel->constMemory('tutorial01.xlsx', NULL, false);
  5. $fileHandle = $fileObject->getHandle();
  6. $format = new \Vtiful\Kernel\Format($fileHandle);
  7. $boldStyle = $format->bold()->toResource();
  8. $fileObject->setRow('A1', 10, $boldStyle) // 写入数据前设置行样式
  9. ->header(['name', 'age'])
  10. ->data([['viest', 21]])
  11. ->output();