ใครเคยเขียนแบบนี้บ้างครับ ผมจะเขียนให้มัน export เป็น excel คับ โดยคลิกปุ่มแสดงรายงานจากหน้าหลักแล้วให้ดึงไฟล์นี้ออกมาแสดงผล
ผมจะเขียนให้มัน export เป็น excel คับ โดยคลิกปุ่มแสดงรายงานจากหน้าหลักแล้วให้ดึงไฟล์นี้ออกมาแสดงผล แต่ว่าผมรันกับเครื่องผมมันก็ขึ้นตัวบล็อกที่ให้โหลดเป็น excel ได้ปกติ แต่พอ อัพขึ้น server (server เป็น Linux คับ) มันกลับเป็นหน้าว่างๆคับ ใครทราบวิธีแก้บ้างคับ รบกวนหน่อยได้มั๊ยคับ ผมแก้มา 2 อาทิตย์แล้วยังไม่ได้เลย
<?PHP
require( "../initial.inc.php" );
require_once (SECOUND_PATH . CLASS_PATH . "class.writeexcel_workbook.inc.php");
require_once (SECOUND_PATH . CLASS_PATH . "class.writeexcel_worksheet.inc.php");
$ARRDefine = array(
"Credit" => array("0" => "None", "7" => "7", "15" => "15", "30" => "30", "45" => "45", "60" => "60"),
"Purchase" => array("0" => "ทั้งหมด", "1" => "เงินสด", "2" => "เงินโอน", "3" => "เช็ค", "4" => "เงินสดหรือเงินโอน", "5" => "เงินสดหรือเช็ค", "6" => "เช็คหรือเงินโอน"),
"FN" => array("0" => "Other", "1" => "Mr.", "2" => "Mrs.", "3" => "Miss"),
"status" => array("0" => "FU", "1" => "Order", "2" => "Revise", "3" => "budget", "4" => "Loss")
);
$token = md5( uniqid(rand(), true ) );
$fname= "../tmp/$token.xls";
$workbook =& new writeexcel_workbook($fname);
$worksheet =& $workbook->addworksheet("summary");
$header =& $workbook->addformat();
$header->set_font("tahoma");
$header->set_bold();
$header->set_align('center');
$header->set_size(12);
$header->set_color('navy');
$header->set_fg_color('silver');
# fix Row 1
$worksheet->freeze_panes(1, 0);
$StrSql = "select Q.`EmpID`, C.`CompanyName_EN`, Q.`project_id`, Q.`Quotation_No`, Q.`quotation_date`, QD.`quo_type`, QD.`quo_qty`,QD.`quo_total`, Q.`status`
from $G_table Q
left join `quotation_detail` QD on QD.`Quotation_No` = Q.`Quotation_No` and QD.`Rec_id`=Q.`Rec_id`
left join `customer` C on C.`CustomerID` = Q.`CustomerID`
$_SESSION[QUOSCond]
order by Q.`Quotation_No` asc";
//echo"$StrSql";
$result=mysql_query($StrSql) or die(mysql_error() . ": " . $StrSql);
$worksheet->write(0, 0, "Sales", $header);
$worksheet->write(0, 1, "Customer", $header);
$worksheet->write(0, 2, "Project", $header);
$worksheet->write(0, 3, "NO#", $header);
$worksheet->write(0, 4, "Date", $header);
$worksheet->write(0, 5, "Product", $header);
$worksheet->write(0, 6, "Qty", $header);
$worksheet->write(0, 7, "Total", $header);
$worksheet->write(0, 8, "status", $header);
$worksheet->set_column('A:B', 5);
$worksheet->set_column('B:C', 30);
$worksheet->set_column('C:D', 25);
$worksheet->set_column('D:E', 15);
$worksheet->set_column('E:F', 12);
$worksheet->set_column('F:G', 30);
$worksheet->set_column('G:H', 5);
$worksheet->set_column('H:I', 10);
$worksheet->set_column('I:J', 5);
$format1 =& $workbook->addformat();
$format1->set_align('left');
$format1->set_size(11);
$format1->set_font("tahoma");
$columns = 9;
$i=0;
while($row = mysql_fetch_array($result)){
for($j=0; $j<$columns; $j++){
if($j == 8){
$worksheet->write($i+1, $j, $ARRDefine["status"][$row[$j]], $format1);
}else{
$worksheet->write($i+1, $j, $row[$j], $format1);
}
}
$i++;
}
$workbook->close();
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment; filename=".basename("$table.xls").";");
header("Content-Transfer-Encoding: binary ");
header("Content-Length: ".filesize($fname));
readfile($fname);
unlink($fname);
exit();
?>
Tag : - - - -
Date :
4 ก.ค. 2551 09:39:36
By :
maruk
View :
1495
Reply :
2
ไม่ได้สร้าง Folder tmp ครับกำหนดเป็น MOD 777 ด้วย
ถ้าสงสัย แอด เอ็มมาถามละกันครับ
Date :
5 ก.ค. 2551 09:28:25
By :
PANDA
ขอบคุณคับคุณ PANDA ผมลองทำตามคุณบอกแล้วได้ครับ แต่ว่ามันอ่านภาษาไทยไม่ได้คับ งั้นผมรบกวนขอเอ็มคุณด้วยนะคับ นี่เป็น msn ของผมนะคับ [email protected] ขอบคุณล่วงหน้าคับ
Date :
7 ก.ค. 2551 14:04:38
By :
maruk
Load balance : Server 00