You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

35 lines
2.0 KiB

<?php
include "./header.php";
require_once dirname(__DIR__) . '/common/composer/vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$sql = "SELECT
A.BillNo,A.MaterialId, C.MaterialName,A.Quantity,A.UnConfirmSQty,A.WarehouseId,A.MarkerNo,A.CU_MaterialId,
B.Quantity AS StkQty,B.WarehouseId AS StkWarehouseId,B.MarkerNo AS StkMarkerNo
FROM stkAssySubMatInfo A
LEFT JOIN stkWareHouseAccountDetail B ON A.MaterialId = B.MaterialId AND A.MarkerNo = B.MarkerNo
LEFT JOIN comMaterialGroup AS C ON A.MaterialId = C.MaterialId
WHERE A.UnConfirmSQty != 0";
$assemble_warehouse_query = $conn->query($sql);
$array =array();
echo "組裝單號;組裝料號;組裝數量;未出庫數量;目前庫存倉別;組裝子件預留標示號;庫存數量;庫存倉別;庫存預留標示號"."<br>";
foreach($assemble_warehouse_query as $key=> $assemble){
$array[$key] = [$assemble['BillNo'],$assemble['MaterialId'],$assemble['MaterialName'],$assemble['Quantity'],$assemble['UnConfirmSQty'],$assemble['WarehouseId'],$assemble['MarkerNo'],$assemble['StkQty'],$assemble['StkWarehouseId'],$assemble['StkMarkerNo']];
// echo $assemble['BillNo'].";".$assemble['MaterialId'].";".$assemble['Quantity'].";".$assemble['UnConfirmSQty'].";".$assemble['WarehouseId'].";".$assemble['MarkerNo'].";".$assemble['StkQty'].";".$assemble['StkWarehouseId'].";".$assemble['StkMarkerNo'];
// echo "<br>";
}
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$colomnHeader = ['組裝單號','組裝料號','料號名稱','組裝數量','未出庫數量','目前庫存倉別','組裝子件預留標示號','庫存數量','庫存倉別','庫存預留標示號'];
$sheet->fromArray($colomnHeader,NULL,'A1');
$rowIndex = 2;
foreach($array as $key => $value){
$sheet->fromArray([$value], NULL, 'A' . $rowIndex);
$sheet->getStyle('R' . $rowIndex)->getAlignment()->setWrapText(true);
$rowIndex++;
}
$writer = new Xlsx($spreadsheet);
$excelFileName = 'assemble_warehouse.xlsx';
$writer->save($excelFileName);