使用 PHP 的 PhpSpreadsheet 库,您可以轻松地执行各种数据分析任务。以下是一些基本示例,说明如何使用 PhpSpreadsheet 进行数据分析:
- 读取和写入电子表格文件:
// 引入自动加载器 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');
- 读取现有的电子表格文件:
// 引入自动加载器 require_once 'vendor/autoload.php'; // 创建一个新的电子表格对象 $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load('example.xlsx'); // 获取当前活动的工作表 $sheet = $spreadsheet->getActiveSheet(); // 读取单元格的值 $cellValue = https://www.yisu.com/ask/$sheet->getCell('A1')->getValue(); echo $cellValue; // 输出 "Hello World !"
- 数据分析 - 计算平均值、最大值、最小值等:
// 引入自动加载器 require_once 'vendor/autoload.php'; // 创建一个新的电子表格对象 $spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet(); // 获取当前活动的工作表 $sheet = $spreadsheet->getActiveSheet(); // 添加数据 $data = https://www.yisu.com/ask/['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 = https://www.yisu.com/ask/$spreadsheet->getActiveSheet() ->getCell('B') ->getMax(); echo "Max Value: " . $maxValue; // 计算最小值 $minValue = https://www.yisu.com/ask/$spreadsheet->getActiveSheet() ->getCell('B') ->getMin(); echo "Min Value: " . $minValue;
- 数据分析 - 排序和筛选:
// 引入自动加载器 require_once 'vendor/autoload.php'; // 创建一个新的电子表格对象 $spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet(); // 获取当前活动的工作表 $sheet = $spreadsheet->getActiveSheet(); // 添加数据 $data = https://www.yisu.com/ask/['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 = https://www.yisu.com/ask/$spreadsheet->getActiveSheet()->toArray(); $filteredData = https://www.yisu.com/ask/array_filter($worksheetData, function ($row) {>= 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 库进行基本的数据分析任务。您可以根据需要扩展这些示例以满足您的具体需求。