ikkez/f3-sheet

PHP Fat-Free Framework 的 Excel 和 CSV 工具

v0.4.3 2024-03-06 16:19 UTC

This package is auto-updated.

Last update: 2024-09-06 17:18:19 UTC


README

表单

PHP Fat-Free Framework 的 Excel 和 CSV 工具。

数据数组示例

$excel = \Sheet::instance();

// data array
$rows = [ 
	[
		"name" => "rose",
		"color" => "red",
		"num" => 15
	],
	[
		"name" => "daisy",
		"color" => "yellow",
		"num" => 25,
	],
	[
		"name" => "orchid",
		"color" => "purple",
		"num" => 7
	]
];
// header array to rename the field labels and sort/reorder the data array 
$headers = ['name'=>'Name', 'num'=>'Number', 'color'=>'Flower Color'];

$excel->renderXLS($rows,$headers,"flowers.xls");

如果你的数据数组没有键,你可以使用 applyHeader 方法转换数组

$rows = [ 
	[
		"rose",
		"red",
		15
	],
	[
		"daisy",
		"yellow",
		25,
	],
	[
		"orchid",
		"purple",
		7
	]
];
$rows = \Sheet::instance()->applyHeader($rows,['name','color','num']);

Fat Free Mapper 对象示例

//Setup mapper
$items = new \DB\SQL\Mapper($db,'mytable');

//Load all items and map to associative array
$all = array_map(array($items,'cast'),$items->find());

$csv = \Sheet::instance();
$csv->renderCSV($all, $items->fields(), "items.csv");

注意

生成的 XLS 文件在较旧版本的 MS Office (Excel) 中可能会有问题,其中数字格式化的字段可能不会被识别为数字(显示为文本),包含换行符的文本字段也可能导致问题(文本丢失)。

然而,当使用 LibreOffice 或 OpenOffice 打开,或者使用 renderCSV 渲染为 csv,然后导入到 Excel 中时,这些问题不会出现。

许可证

您可以在 GNU 通用公共许可证版本 3 或更高版本的条款下使用此插件。

版权 (C) 2017 Christian Knuth [ikkez]