laravel - 在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;
解决方案
尝试创建一个函数:
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']),
];
}
推荐阅读
- sas - 在SAS中使用换行符将数据迭代到新行
- google-analytics - 设置新的 Web+App Google Analytics 的最佳做法是什么?
- python - python 3.6解析和构造三个等长列表
- python - OOP 中的 staticmethod 和 __init__
- sql-server - SQL删除存在值的行和具有该值的后续列
- python - 如何将图像插入 sqlite3 数据库?
- r - GenomicRanges 在 R 上加载 DESeq2 库时出错
- vue.js - Vue vuetify v-dialog 防止屏幕滚动
- avfoundation - `AVMutableCompositionTrack.insertTimeRange` 失败并出现错误 -11800
- c# - Blazor WebAssembly API 中是否有 Json 的替代品?