โดย Chai8 » 19/09/2016 3:40 pm
พอดีผมเขียน php ในการ export excel ในlocalhost ได้แล้ว แต่พอเอาขึ้นโฮส มันกลับไม่โหลดไฟล์ excelมา แต่เปลี่ยนเป็นการแสดงผลบนBrowser แทน
โค้ด: เลือกทั้งหมด
<html>
<html xmlns:x="urn:schemas-microsoft-com:office:excel">
<head>
<title></title>
</head>
<body>
//$strSQL = "SELECT * FROM tb_medicine";
//$objQuery = mysql_query($strSQL); ?>
<?php
//คำสั่ง connect db เขียนเพิ่มเองนะ
$strExcelFileName="Member-All.xls";
header("Pragma: public"); // required
header("Expires: 0"); // no cache
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: application/force-download; name=\"$strExcelFileName\"");
header("Content-Disposition: inline; filename=\"$strExcelFileName\"");
header("Pragma:no-cache");
header("Content-Transfer-Encoding: binary");
header("Connection: close");
//$objConnect = mysql_connect("localhost","root","") or die("Error Connect to Database");
//$objDB = mysql_select_db("medical");
include_once("config.php");
$strSQL="select * from tb_medicine,tb_unit,tb_stock where tb_medicine.UnitID=tb_unit.UnitID and tb_medicine.MedID=tb_stock.MedID order by tb_stock.StockLot asc";
//$strSQL="select * from tb_stock,tb_medicine,tb_unit where tb_medicine.MedID=tb_stock AND tb_medicine.UnitID=tb_unit.UnitID";
//$sql = $conn->exec($strSQL);
$result = $conn->query($strSQL);
$result->rowCount();
$num=$result->rowCount();
?>
<html xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:x="urn:schemas-microsoft-com:office:excel"xmlns="http://www.w3.org/TR/REC-html40">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<center>
<strong>รายการสต๊อกยาและเวชภัณฑ์ ประจำวันที่ <?php echo date("d/m/Y");?><br> ทั้งหมด <?php echo number_format($num);?> รายการ</strong></center>
<div id="SiXhEaD_Excel" align=center x:publishsource="Excel">
<table x:str border=1 cellpadding=0 cellspacing=1 width=100% style="border-collapse:collapse">
<tr bgcolor="#FFFF99">
<td width="50" height="30" align="center" valign="middle" ><strong>No.</strong></td>
<td width="80" height="30" align="center" valign="middle" ><strong>Lot.</strong></td>
<td width="80" align="center" valign="middle" ><strong>วันหมดอายุ</strong></td>
<td width="200" align="center" valign="middle" ><strong>รายการยาและเวชภัณฑ์</strong></td>
<td width="100" align="center" valign="middle" ><strong>คงเหลือ</strong></td>
<td width="100" align="center" valign="middle" ><strong>หน่วยนับ</strong></td>
<td width="100" align="center" valign="middle" ><strong>สต๊อกขั้นต่ำ</strong></td>
<td width="100" align="center" valign="middle" ><strong>สต็อกสูงสุด</strong></td>
<td width="250" align="center" valign="middle" ><strong>คุณสมบัติที่ใช้</strong></td>
</tr>
<?php
if($num>0){$n=1;
while($row = $objQuery=$result->fetch()){
//while($row=mysql_fetch_array($sql))
$StockExp=$row['StockExp'];
$y = substr($StockExp, 0, 4); //set position 0 , 4
$m = substr($StockExp, 5, 2);
$d = substr($StockExp, 8, 9);
$StockExp_new=$d . "/" . $m . "/" . $y;
?>
<tr>
<td align="center" valign="middle" ><?php echo $n;?></td>
<td height="25" align="center" valign="middle" ><?php echo"LOt.".$row['StockLot'];?></td>
<td align="center" valign="middle" bgcolor="#FF6600"><font color="#ffffff"><?php echo $StockExp_new;?></font></td>
<td align="center" valign="middle" ><?php echo $row['MedName'];?></td>
<td align="center" valign="middle" bgcolor="#FF6600"><font color="#ffffff"><?php echo $row['StockQty'];?></font></td>
<td align="center" valign="middle"><?php echo $row['UnitName'];?></td>
<td align="center" valign="middle"bgcolor="#FF6600"><font color="#ffffff"><?php echo $row['MedMin'];?></td>
<td align="center" valign="middle"><?php echo $row['MedMax'];?></td>
<td align="center" valign="middle"><?php echo $row['MedDes'];?></td>
</tr>
<?php
$n++;}
}
?>
</table>
</div>
<script>
window.onbeforeunload = function(){return false;};
setTimeout(function(){window.close();}, 10000);
</script>
</body>
</html>
รบกวนดูให้ทีครับ ว่าผมพลาดอะไรไป ผมทำมา 2 วันแล้ว T T
พอดีผมเขียน php ในการ export excel ในlocalhost ได้แล้ว แต่พอเอาขึ้นโฮส มันกลับไม่โหลดไฟล์ excelมา แต่เปลี่ยนเป็นการแสดงผลบนBrowser แทน
[code]<html>
<html xmlns:x="urn:schemas-microsoft-com:office:excel">
<head>
<title></title>
</head>
<body>
//$strSQL = "SELECT * FROM tb_medicine";
//$objQuery = mysql_query($strSQL); ?>
<?php
//คำสั่ง connect db เขียนเพิ่มเองนะ
$strExcelFileName="Member-All.xls";
header("Pragma: public"); // required
header("Expires: 0"); // no cache
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: application/force-download; name=\"$strExcelFileName\"");
header("Content-Disposition: inline; filename=\"$strExcelFileName\"");
header("Pragma:no-cache");
header("Content-Transfer-Encoding: binary");
header("Connection: close");
//$objConnect = mysql_connect("localhost","root","") or die("Error Connect to Database");
//$objDB = mysql_select_db("medical");
include_once("config.php");
$strSQL="select * from tb_medicine,tb_unit,tb_stock where tb_medicine.UnitID=tb_unit.UnitID and tb_medicine.MedID=tb_stock.MedID order by tb_stock.StockLot asc";
//$strSQL="select * from tb_stock,tb_medicine,tb_unit where tb_medicine.MedID=tb_stock AND tb_medicine.UnitID=tb_unit.UnitID";
//$sql = $conn->exec($strSQL);
$result = $conn->query($strSQL);
$result->rowCount();
$num=$result->rowCount();
?>
<html xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:x="urn:schemas-microsoft-com:office:excel"xmlns="http://www.w3.org/TR/REC-html40">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<center>
<strong>รายการสต๊อกยาและเวชภัณฑ์ ประจำวันที่ <?php echo date("d/m/Y");?><br> ทั้งหมด <?php echo number_format($num);?> รายการ</strong></center>
<div id="SiXhEaD_Excel" align=center x:publishsource="Excel">
<table x:str border=1 cellpadding=0 cellspacing=1 width=100% style="border-collapse:collapse">
<tr bgcolor="#FFFF99">
<td width="50" height="30" align="center" valign="middle" ><strong>No.</strong></td>
<td width="80" height="30" align="center" valign="middle" ><strong>Lot.</strong></td>
<td width="80" align="center" valign="middle" ><strong>วันหมดอายุ</strong></td>
<td width="200" align="center" valign="middle" ><strong>รายการยาและเวชภัณฑ์</strong></td>
<td width="100" align="center" valign="middle" ><strong>คงเหลือ</strong></td>
<td width="100" align="center" valign="middle" ><strong>หน่วยนับ</strong></td>
<td width="100" align="center" valign="middle" ><strong>สต๊อกขั้นต่ำ</strong></td>
<td width="100" align="center" valign="middle" ><strong>สต็อกสูงสุด</strong></td>
<td width="250" align="center" valign="middle" ><strong>คุณสมบัติที่ใช้</strong></td>
</tr>
<?php
if($num>0){$n=1;
while($row = $objQuery=$result->fetch()){
//while($row=mysql_fetch_array($sql))
$StockExp=$row['StockExp'];
$y = substr($StockExp, 0, 4); //set position 0 , 4
$m = substr($StockExp, 5, 2);
$d = substr($StockExp, 8, 9);
$StockExp_new=$d . "/" . $m . "/" . $y;
?>
<tr>
<td align="center" valign="middle" ><?php echo $n;?></td>
<td height="25" align="center" valign="middle" ><?php echo"LOt.".$row['StockLot'];?></td>
<td align="center" valign="middle" bgcolor="#FF6600"><font color="#ffffff"><?php echo $StockExp_new;?></font></td>
<td align="center" valign="middle" ><?php echo $row['MedName'];?></td>
<td align="center" valign="middle" bgcolor="#FF6600"><font color="#ffffff"><?php echo $row['StockQty'];?></font></td>
<td align="center" valign="middle"><?php echo $row['UnitName'];?></td>
<td align="center" valign="middle"bgcolor="#FF6600"><font color="#ffffff"><?php echo $row['MedMin'];?></td>
<td align="center" valign="middle"><?php echo $row['MedMax'];?></td>
<td align="center" valign="middle"><?php echo $row['MedDes'];?></td>
</tr>
<?php
$n++;}
}
?>
</table>
</div>
<script>
window.onbeforeunload = function(){return false;};
setTimeout(function(){window.close();}, 10000);
</script>
</body>
</html>[/code]
รบกวนดูให้ทีครับ ว่าผมพลาดอะไรไป ผมทำมา 2 วันแล้ว T T