vendor/veryinf/mb-helper/src/Excel.php
(开头部分) 1KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
namespace mb\helper;
use Exception;
use PhpOffice\PhpSpreadsheet\Cell\DataType;
use PhpOffice\PhpSpreadsheet\IOFactory;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
class Excel
{
/**
* @param $filename string 导入文件
* @param $columns array 列定义, ['field'=>'#字段名称', 'column'=>'#列定义']
* @return array 读取的数据集
*/
public static function read($filename, $columns)
{
try {
$excel = IOFactory::load($filename);
$sheet = $excel->getSheet(0);
$dataSet = [];
for ($i = 2; ; $i++) {
$allEmpty = true;
$row = [];
foreach ($columns as $column) {
$row[$column['field']] = $sheet->getCell("{$column['column']}{$i}")->getValue();
if ($allEmpty && !empty($row[$column['field']])) {
$allEmpty = false;
}
}
if ($allEmpty) {
break;
}
$dataSet[] = $row;
}
return $dataSet;
} catch (Exception $e) {
return error(-1, $e->getMessage());
}
}
/**
* @param $title string 文件名称
* @param $headers array 标题定义 ['列名称1', '列名称2']
* @param $dataSet array 导出的数据集, 和列名称对应
* @throws \PHPExcel_Exception
* @throws \PHPExcel_Reader_Exception
* @throws \PHPExcel_Writer_Exception
*/
public static function write($title, $headers, $dataSet)
{
$o = new Spreadsheet();
try {
$o->createSheet(0);
$sheet = $o->getSheet(0);
$sheet->setTitle($title);
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
