导出 - 固定内存模式

内存

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

注意

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

函数原型

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

提示

WPS 需要关闭 zip64,否则打开文件可能报文件损坏;
该问题已反馈给WPS,修复进度未知,并且该问题在出现在iOS、Mac、Windows等平台,Android平台无异常。

示例

开启 ZIP64

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

关闭 ZIP64

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