У меня проблема с использованием Lang Facade в cobination с Excel Export. Следующий код работает так, как ожидалось, он генерирует файл Excel, как ожидалось, но когда я пытаюсь добавить файлы языков, файл кажется поврежденным, и Microsoft Excel его не откроет.Laravel 5 + Excel + Lang Facade
Это работает идеально:
$details_toprow = array(
"Ref",
"Order Num",
"Your order num",
"Description",
"Colour",
"Units",
"Price"
);
\Excel::create($filename, function ($excel) use ($shipment, $shipment_lines, $shipment_boxes, $headers, $details_toprow) {
$excel->sheet('shipment', function ($sheet) use ($shipment, $shipment_lines, $shipment_boxes, $headers, $details_toprow) {
$objDrawing = new \PHPExcel_Worksheet_Drawing();
$objDrawing->setPath(public_path(getAssetsPath().'/img/logo_extranet.png')); //your image path
$objDrawing->setCoordinates('A1');
$objDrawing->setWorksheet($sheet);
$sheet->row(2,$details_toprow);
$sheet->mergeCells('A1:G1');
$sheet->setHeight(1, 50);
$row = 3;
foreach($shipment_lines as $item)
{
$sheet->row($row, array(
$item->getReference(),
$item->getOrderNumber(),
$item->getCustomOrderNumber(),
html_entity_decode($item->getReferenceDescription(false)),
$item->getColorDescription(),
$item->getQuantity(),
$item->getPrice()
));
$row++;
}
$row++;
$row++;
$second_box = $row;
$sheet->row($row, array(
"Box number",
"Order Num",
"Your order num",
"Reference",
"Description",
"Color",
"Units",
"Ref s/cj",
"P/C Est.",
"Pc/Real"
));
$row++;
foreach($shipment_boxes as $item)
{
$line = $item->getLine();
$order_num = null;
$order_custom_num = null;
$reference = null;
$description = null;
$color_description = null;
$units = null;
$rfscj = 1;
$pcest = $item->peso_estimado;;
$pcreal = $item->peso_real;;
if ($line)
{
$order_num = $line->getOrderNumber();
$order_custom_num = $line->getCustomOrderNumber();
$reference = $line->getReference();
$description = $line->getReferenceDescription(false);
$color_description = $line->getColorDescription();
$units = $line->getQuantity();
}
$sheet->row($row, array(
$item->caja_ID,
$order_num,
$order_custom_num,
$reference,
$description,
$color_description,
$units,
$rfscj,
$pcest,
$pcreal
));
$row++;
}
$sheet->cells('A2:J2', function($cells) {
$cells->setFontColor('#ffffff');
$cells->setFontWeight('bold');
$cells->setBackground('#3A3A3A');
});
$sheet->cells('A1:J1', function($cells) {
$cells->setFontColor('#ffffff');
$cells->setFontWeight('bold');
$cells->setBackground('#3A3A3A');
});
$sheet->cells('A'.$second_box.':J'.$second_box.'', function($cells) {
$cells->setFontColor('#ffffff');
$cells->setFontWeight('bold');
$cells->setBackground('#3A3A3A');
});
});
})->export('xls');
}
Если изменить значение первого массива в коде:
$details_toprow = array(
Lang::get("extranet-shipments.ref"),
Lang::get("extranet-shipments.order_num"),
Lang::get("extranet-shipments.order_num_alt"),
Lang::get("extranet-shipments.description") ,
Lang::get("extranet-shipments.color") ,
Lang::get("extranet-shipments.units") ,
Lang::get("extranet-shipments.price")
);
Единственное отличием является массив значений распайки, от «жёстко» для загрузки с Lang-фасада, файл Excel кажется поврежденным
Перейти к 'PHP ремесленник tinker' и типа' Lang :: получить ("экстранет-shipments.ref") '. Дайте нам знать, что является результатом команды – Paras
Он возвращает => «extranet-shipmentments.ref» – pardalsalcap
Это содержимое ресурсов/lang/es/extranet-shipment.php – pardalsalcap