首页 > 解决方案 > 在laravel中提交excel文件时如何删除逗号和空格

问题描述

我正在尝试将 excel 文件中的数据保存到我的数据库中,我想检查其中是否有逗号或空格,如果有,我想将其删除。

我正在使用 phpoffice/phpspreadsheet 和 laravel,如果可以的话,我想使用 phpoffice/phpspreadsheet。

这是我的代码

$xl = IOFactory::load($path);

$sheet = $xl->getSheetByName('Products');

$c = $sheet->getHighestDataColumn();
$r = $sheet->getHighestDataRow();

$data = $sheet->rangeToArray("A1:{$c}{$r}", null, false);
$headers = array_shift($data);
$projects = [];

foreach ($data as $row) {

    $entry = array_combine($headers, $row);

    $projects[] = [
        'name' => $entry['Name'],
        'description' => $entry['description'],
        'price' => $entry['price'],
    ];

}

return $projects;

标签: laravellaravel-8

解决方案


尝试创建一个函数:

function cleanData($data) {
 $data= str_replace( ',', '', $data);
  $data= preg_replace('/\s+/', '', $data);
  return $data;
   }

并使用它:

foreach ($data as $row) {

$entry = array_combine($headers, $row);

$projects[] = [
    'name' => cleanData($entry['Name']),
    'description' => cleanData($entry['description'],
    'price' => cleanData($entry['price']),
];

}


推荐阅读