Ich habe ein Problem mit der Verwendung der Lang-Fassade in Verbindung mit dem Excel-Export. Der folgende Code funktioniert wie erwartet, er generiert die Excel-Datei wie erwartet, aber wenn ich versuche, die Sprachdateien hinzuzufügen, scheint die Datei beschädigt zu sein und Microsoft Excel wird sie nicht öffnen.Laravel 5 + Excel + Lang Fassade
Dies funktioniert perfekt:
$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');
}
Wenn ich die Werte des ersten Feldes im Code zu ändern:
$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")
);
Der einzige Unterschied ist die Anordnung assigment Werte von „Hardcoded“ Zum Laden von Lang Fassade scheint die Excel-Datei beschädigt
Zum 'php Handwerker tinker' und Art' Lang :: get ("Extranet-shipments.ref") '. Lassen Sie uns wissen, was die Ausgabe des Befehls ist – Paras
Die Rückgabe => "Extranet-shipments.ref" – pardalsalcap
Dies ist der Inhalt der Ressourcen/lang/es/Extranet-shipment.php – pardalsalcap