温馨提示×

php phpspreadsheet 怎样进行数据分析

PHP
小樊
84
2024-11-26 04:39:11
栏目: 编程语言

使用 PHP 的 PhpSpreadsheet 库,您可以轻松地执行各种数据分析任务。以下是一些基本示例,说明如何使用 PhpSpreadsheet 进行数据分析:

  1. 读取和写入电子表格文件:
// 引入自动加载器
require_once 'vendor/autoload.php';

// 创建一个新的电子表格对象
$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();

// 获取当前活动的工作表
$sheet = $spreadsheet->getActiveSheet();

// 设置单元格的值
$sheet->setCellValue('A1', 'Hello World !');

// 编写电子表格文件
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$writer->save('hello_world.xlsx');
  1. 读取现有的电子表格文件:
// 引入自动加载器
require_once 'vendor/autoload.php';

// 创建一个新的电子表格对象
$spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('example.xlsx');

// 获取当前活动的工作表
$sheet = $spreadsheet->getActiveSheet();

// 读取单元格的值
$cellValue = $sheet->getCell('A1')->getValue();
echo $cellValue; // 输出 "Hello World !"
  1. 数据分析 - 计算平均值、最大值、最小值等:
// 引入自动加载器
require_once 'vendor/autoload.php';

// 创建一个新的电子表格对象
$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();

// 获取当前活动的工作表
$sheet = $spreadsheet->getActiveSheet();

// 添加数据
$data = [
    ['John', 28],
    ['Jane', 25],
    ['Mark', 32],
    ['Emma', 21],
];

// 将数据写入单元格
foreach ($data as $row) {
    $sheet->fromArray($row, null, 'A' . ($sheet->getHighestRow() + 1));
}

// 计算平均值
$average = $spreadsheet->getActiveSheet()
    ->getCell('B')
    ->getValue();
echo "Average: " . $average;

// 计算最大值
$maxValue = $spreadsheet->getActiveSheet()
    ->getCell('B')
    ->getMax();
echo "Max Value: " . $maxValue;

// 计算最小值
$minValue = $spreadsheet->getActiveSheet()
    ->getCell('B')
    ->getMin();
echo "Min Value: " . $minValue;
  1. 数据分析 - 排序和筛选:
// 引入自动加载器
require_once 'vendor/autoload.php';

// 创建一个新的电子表格对象
$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();

// 获取当前活动的工作表
$sheet = $spreadsheet->getActiveSheet();

// 添加数据
$data = [
    ['John', 28],
    ['Jane', 25],
    ['Mark', 32],
    ['Emma', 21],
];

// 将数据写入单元格
foreach ($data as $row) {
    $sheet->fromArray($row, null, 'A' . ($sheet->getHighestRow() + 1));
}

// 按年龄排序
$sheet->sortCells('B2:B' . ($sheet->getHighestRow() + 1), \PhpOffice\PhpSpreadsheet\Cell\SortValue::TYPE_NUMERIC, true, false, false, false);

// 筛选年龄大于等于25岁的员工
$worksheetData = $spreadsheet->getActiveSheet()->toArray();
$filteredData = array_filter($worksheetData, function ($row) {
    return $row[1] >= 25;
}, ARRAY_FILTER_USE_BOTH);

// 将筛选后的数据写回工作表
$filteredWorksheet = $spreadsheet->createSheet();
$filteredWorksheet->fromArray($filteredData, null, 'A1');

// 编写电子表格文件
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$writer->save('filtered_data.xlsx');

这些示例展示了如何使用 PhpSpreadsheet 库进行基本的数据分析任务。您可以根据需要扩展这些示例以满足您的具体需求。

0