paxal/stats-table

多格式化器处理的统计数据表辅助工具

v2.0.6 2021-12-08 08:49 UTC

This package is auto-updated.

Last update: 2024-09-08 14:32:05 UTC


README

此包是 igraal/stats-table 的分支

stats-table

PHP 库,用于处理统计数据表和 CSV、JSON 和 Excel 导出。 构建状态

摘要

此库可以帮助您根据一些数据创建统计表。您提供数据、标题以及您希望放在底部行的内容,然后可以将您的表导出到 JSON、CSV 或 Excel 文件中。

这对于在 HTML 前端操作大量您希望看到的表非常有用,并且当您希望添加将此数据导出到 CSV 或 Excel 文件的能力时。

安装

使用 composer

使用 composer,只需运行以下命令即可要求最新的稳定版本

composer req paxal/stats-table

用法

使用 StatsTable 类

StatsTable 类是用于存储数据的类。它需要一个强制参数和 4 个可选参数。创建新表的简单方法是将数据本身及其标题传递(即使标题是可选的)。

use IgraalOSL\StatsTable\StatsTable;

$data = [
    ['date' => '2014-01-01', 'hits' => 32500],
    ['date' => '2014-01-02', 'hits' => 48650],
];
$headers = ['date' => 'Date', 'hits' => 'Number of hits'];
$statsTable = new StatsTable($data, $headers);

导出表

目前支持三种格式:Excel、CSV 和 JSON。因此,您可以使用相同的表进行 AJAX 调用或下载。

首先,创建您的导出器,然后导出您的数据。

use IgraalOSL\StatsTable\Dumper\Excel\ExcelDumper;

$excelDumper = new ExcelDumper();
$excelContents = $excelDumper->dump($statsTable);

header('Content-type: application/vnd.ms-excel');
echo $excelContents

使用统计数据表构建器

为了帮助您构建表,您可以使用 StatsTableBuilder 类。它可以帮助您组合多个表的数据,并可以创建自动计算列。它还可以帮助您构建聚合(即底部行),具有多种可能性:比率、总和、平均值或静态内容。

use IgraalOSL\StatsTable\StatsTableBuilder;

$data = [
    '2014-01-01' => ['hits' => 32500],
    '2014-01-02' => ['hits' => 48650],
];

$statsTableBuilder = new StatsTableBuilder(
    $data,
    ['hits' => 'Number of hits']
);
$statsTableBuilder->addIndexesAsColumn('date', 'Date');

$statsTable = $statsTableBuilder->build();