本文整理汇总了PHP中Maatwebsite\Excel\Facades\Excel::selectSheets方法的典型用法代码示例。如果您正苦于以下问题:PHP Excel::selectSheets方法的具体用法?PHP Excel::selectSheets怎么用?PHP Excel::selectSheets使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Maatwebsite\Excel\Facades\Excel
的用法示例。
在下文中一共展示了Excel::selectSheets方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: updateIpExt
public function updateIpExt()
{
$self = $this;
Excel::selectSheets('全區')->load(__DIR__ . '/../../../../storage/excel/example/ip_ext.xls', $this->updateClosure());
Session::flash('success', '全部人員<b>Ip</b>以及<b>分機</b>更新完成');
return redirect('user');
}
示例2: upload
public function upload()
{
//$file = Input::file('exclfile');
$s = array();
$path = 'C:/wamp/www/test-laravel-5-project/public/Test/quiz_info.xlsx';
Excel::selectSheets('sheet1')->load($path, function ($reader) {
$reader->each(function ($sheet) {
$sheet->each(function ($row) {
array_push($s, $row);
});
});
});
return Response::json($s);
}
示例3: store
public function store()
{
//上传文件
//$file = $this->request->file('orderExcel');
$orderExcel = Excel::selectSheets('Sheet1')->load(public_path('uploads/excel/70.xls'), function ($reader) {
$reader->take(10);
});
$results = $orderExcel->toArray();
// dd($results);
foreach ($results as $result) {
//TODO
//查询是否已经存在
//TODO 判断序号是否为null 不为null存入数据库 如果为null 查找子序号所指向序号是否存在
if ($result['序号'] != null) {
$order = new Order();
$order->excel_id = (int) $result['序号'];
$order->fw_number = $result['国外运单号'];
$order->name = $result['姓名'];
$order->mobile = $result['电话'];
$order->address = $result['地址'];
$order->zip_code = $result['邮编'];
$order->weight = $result['重量'];
$order->id_number = $result['身份证号'];
// if(!$order->save()){
// return 'false';
// }
//存入订单产品
$product = new OrderProduct();
$product->order_id = $order->id;
$product->name = $result['品名'];
$product->count = $result['数量'];
//$product->save();
} else {
var_dump((int) $result['子序号']);
//存入子订单
$order = Order::where('excel_id', (int) $result['子序号'])->first();
//存入订单产品
$product = new OrderProduct();
$product->order_id = $order->id;
$product->name = $result['品名'];
$product->count = $result['数量'];
//$product->save();
}
}
}
示例4: checkFiles
/**
* @param Request $request
*/
private function checkFiles(Request $request)
{
$fileNameWithoutExt = str_random(32);
$fileName = $fileNameWithoutExt . '.' . $request->file('file')->getClientOriginalExtension();
$directory = public_path() . '/resources/uploads/';
$request->file('file')->move($directory, $fileName);
$zipper = new Zipper();
File::makeDirectory($directory . $fileNameWithoutExt);
$zipper->make($directory . $fileName)->extractTo($directory . $fileNameWithoutExt);
$createdProductCategories = [];
$dataTransferResultErrors = ['productCategories' => array(), 'productLines' => array(), 'products' => array(), 'otherErrors' => array()];
$dataTransferResultWarnings = ['productCategories' => array(), 'productLines' => array(), 'products' => array()];
$findResults = File::glob($directory . $fileNameWithoutExt . '/img/');
if (count($findResults) == 0) {
array_push($dataTransferResultErrors['otherErrors'], 'отсутствует папка с изображениями img');
}
$findResults = File::glob($directory . $fileNameWithoutExt . '/products.xlsx');
if (count($findResults) == 0) {
array_push($dataTransferResultErrors['otherErrors'], 'отсутствует файл Excel версии 2007 и выше. Убедитесь, что структура архива соотвествует образцу. Обратите внимание, что папка img и файл Excel находятся в корне архива, а не в папке, которая находится в корне архива');
}
if (count($dataTransferResultErrors['otherErrors'])) {
Session::put('dataTransferResult.Errors', $dataTransferResultErrors);
Session::put('dataTransferResult.Warnings', $dataTransferResultWarnings);
File::delete($directory . $fileName);
File::deleteDirectory($directory . $fileNameWithoutExt);
return;
}
Excel::selectSheets('Категории')->load($directory . $fileNameWithoutExt . '/products.xlsx', function ($reader) use($directory, $fileNameWithoutExt, $createdProductCategories, $dataTransferResultErrors, $dataTransferResultWarnings, $fileName, $request) {
$productCategories = [];
foreach ($reader->toArray() as $row) {
if ($row['nomer'] == null) {
continue;
}
array_push($productCategories, $row['nomer']);
$imagePattern = '/img/product-category-' . $row['nomer'];
$findResults = File::glob($directory . $fileNameWithoutExt . $imagePattern . '*');
if (count($findResults) == 0) {
$dataTransferResultErrors['productCategories'][$row['nomer']] = 'У категории с номером ' . $row['nomer'] . ' отсутствует изображение: ' . $imagePattern;
}
if ($row['nomer'] <= ProductCategory::max('id')) {
$dataTransferResultErrors['productCategories'][$row['nomer'] . ' дублирование данных (категория)'] = 'Категория с номером ' . $row['nomer'] . ' возможно уже присутствует в базe. Проверьте условие минимальности номера категории';
}
}
Excel::selectSheets('Линейки продукции')->load($directory . $fileNameWithoutExt . '/products.xlsx', function ($reader) use($directory, $fileNameWithoutExt, $createdProductCategories, $dataTransferResultErrors, $dataTransferResultWarnings, $fileName, $productCategories, $request) {
$productLines = [];
foreach ($reader->toArray() as $row) {
if ($row['nomer'] == null) {
continue;
}
array_push($productLines, $row['nomer']);
if (!in_array($row['kategoriya'], $productCategories) && ProductCategory::find($row['kategoriya']) == null) {
$dataTransferResultErrors['productLines'][$row['nomer'] . ' целостость данных (категория)'] = 'У линейки продукции указана несущестующая категория: ' . $row['kategoriya'];
}
$imagePattern = '/img/product-line-' . $row['nomer'];
$findResults = File::glob($directory . $fileNameWithoutExt . $imagePattern . '*');
if (count($findResults) == 0) {
$dataTransferResultErrors['productLines'][$row['nomer']] = 'У линейки продукции с номером ' . $row['nomer'] . ' отсутствует изображение: ' . $imagePattern;
}
if ($row['nomer'] <= ProductLine::max('id')) {
$dataTransferResultErrors['productLines'][$row['nomer'] . ' дублирование данных (линейка продукции)'] = 'Линейка продукции с номером ' . $row['nomer'] . ' возможно уже присутствует в базe. Проверьте условие минимальности номера линейки продукции';
}
}
Excel::selectSheets('Продукция')->load($directory . $fileNameWithoutExt . '/products.xlsx', function ($reader) use($directory, $fileNameWithoutExt, $createdProductCategories, $dataTransferResultErrors, $dataTransferResultWarnings, $fileName, $productLines, $productCategories, $request) {
foreach ($reader->toArray() as $row) {
if ($row['nomer'] == null) {
continue;
}
if ($row['kategoriya'] == null && $row['lineyka_produktsii'] == null) {
$dataTransferResultErrors['products'][$row['nomer'] . ' целостость данных (нет привязки)'] = 'У продукции должна быть либо категория либо линейка продукции';
}
if ($row['kategoriya'] != null && $row['lineyka_produktsii'] != null) {
$dataTransferResultErrors['products'][$row['nomer'] . ' целостость данных (плохая привязка)'] = 'У продукции не может быть одновременно категории и линейка продукции';
}
if ($row['kategoriya'] != null && !in_array($row['kategoriya'], $productCategories) && ProductCategory::find($row['kategoriya']) == null) {
$dataTransferResultErrors['products'][$row['nomer'] . ' целостость данных (категория)'] = 'У продукции указана несущестующая категория: ' . $row['kategoriya'];
}
if ($row['lineyka_produktsii'] != null && !in_array($row['lineyka_produktsii'], $productLines) && ProductLine::find($row['lineyka_produktsii']) == null) {
$dataTransferResultErrors['products'][$row['nomer'] . ' целостость данных (категория)'] = 'У продукции указана несущестующая категория: ' . $row['lineyka_produktsii'];
}
$imagePattern = '/img/product-' . $row['nomer'];
$findResults = File::glob($directory . $fileNameWithoutExt . $imagePattern . '*');
if (count($findResults) == 0) {
$dataTransferResultErrors['products'][$row['nomer']] = 'У продукции с номером ' . $row['nomer'] . ' отсутсвует основное изображение: ' . $imagePattern;
}
$imagePattern = '/img/product-' . $row['nomer'] . '-color-';
$findResults = File::glob($directory . $fileNameWithoutExt . $imagePattern . '*');
$notFoundProductColorImages = [];
foreach ($findResults as $findResult) {
$colorNumber = substr($findResult, strpos($findResult, 'color') + 6, strpos($findResult, '.') - strpos($findResult, 'color') - 6);
$imagePattern = '/img/product-' . $row['nomer'] . '-image-' . $colorNumber;
$findProductColorImageResults = File::glob($directory . $fileNameWithoutExt . $imagePattern . '*');
if (count($findProductColorImageResults) == 0) {
array_push($notFoundProductColorImages, $imagePattern);
}
}
if (count($notFoundProductColorImages) > 0) {
$dataTransferResultWarnings['products'][$row['nomer'] . ' предупреждение об изображении для палитры'] = 'У продукции с номером ' . $row['nomer'] . ' отсутсвуют изображения продукта для цветовой палитры: ';
//.........这里部分代码省略.........