|
|
|
ทำบิลล์ครับ อยากดึงข้อมูลลูกค้ามาใส่ใบเสร็จครับทำระบบสมาชิกแล้วครับต้องเขียนไงครับ ขอบคุณครับ |
|
|
|
|
|
|
|
ตัวอย่างนี้จะเป็นการเขียน PHP กับ Word ในรูปแบบของรายงาน
phpWordReport.php
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP Word.Application Tutorial</title>
</head>
<body>
<?
$wdAlignParagraphCenter = "1";
$wdAlignParagraphRight = "2";
$Wrd = new COM("Word.Application");
$DocName = "MyDoc/MyWord.doc";
$Wrd->Application->Visible = False;
//$strPath = realpath(basename(getenv($_SERVER["SCRIPT_NAME"]))); // C:/AppServ/www/myphp
$WrdDoc = $Wrd->Documents->Open(realpath("thaicreate.dot"));
$MyRange1 = $WrdDoc->Paragraphs->Add->Range;
$MyRange1->ParagraphFormat->Alignment = $wdAlignParagraphCenter;
$MyRange1->Font->Name = "Verdana";
$MyRange1->Font->Size = "20";
$MyRange1->Font->Bold = True;
$MyRange1->InsertBefore("Customer Report".chr(13));
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM customer";
$objQuery = mysql_query($strSQL);
$intRows = mysql_num_rows($objQuery);
$MyRange2 = $WrdDoc->Paragraphs->Add->Range;
$MyRange2->Font->Size = "10";
$objTable = $Wrd->ActiveDocument->Tables->Add($MyRange2,$intRows+1,6,1,2); //** Range,Rows,Column **//
//*** Header ***//
$objTable->Cell(1,1)->Range->InsertAfter("CustomerID");
$objTable->Cell(1,1)->Range->Bold = True;
$objTable->Cell(1,1)->Range->ParagraphFormat->Alignment = 1;
$objTable->Cell(1,2)->Range->InsertAfter("Name");
$objTable->Cell(1,2)->Range->Bold = True;
$objTable->Cell(1,2)->Range->ParagraphFormat->Alignment = 1;
$objTable->Cell(1,3)->Range->InsertAfter("Email");
$objTable->Cell(1,3)->Range->Bold = True;
$objTable->Cell(1,3)->Range->ParagraphFormat->Alignment = 1;
$objTable->Cell(1,4)->Range->InsertAfter("CountryCode");
$objTable->Cell(1,4)->Range->Bold = True;
$objTable->Cell(1,4)->Range->ParagraphFormat->Alignment = 1;
$objTable->Cell(1,5)->Range->InsertAfter("Budget");
$objTable->Cell(1,5)->Range->Bold = True;
$objTable->Cell(1,5)->Range->ParagraphFormat->Alignment = 1;
$objTable->Cell(1,6)->Range->InsertAfter("Used");
$objTable->Cell(1,6)->Range->Bold = True;
$objTable->Cell(1,6)->Range->ParagraphFormat->Alignment = 1;
//*** Detail ***//
$intRows = 1;
while($result = mysql_fetch_array($objQuery))
{
$intRows++;
$objTable->Cell($intRows,1)->Range->InsertAfter($result["CustomerID"]);
$objTable->Cell($intRows,1)->Range->ParagraphFormat->Alignment = 1;
$objTable->Cell($intRows,2)->Range->InsertAfter($result["Name"]);
$objTable->Cell($intRows,2)->Range->ParagraphFormat->Alignment = 0;
$objTable->Cell($intRows,3)->Range->InsertAfter($result["Email"]);
$objTable->Cell($intRows,3)->Range->ParagraphFormat->Alignment = 0;
$objTable->Cell($intRows,4)->Range->InsertAfter($result["CountryCode"]);
$objTable->Cell($intRows,4)->Range->ParagraphFormat->Alignment = 1;
$objTable->Cell($intRows,5)->Range->InsertAfter(number_format($result["Budget"],2));
$objTable->Cell($intRows,5)->Range->ParagraphFormat->Alignment = 2;
$objTable->Cell($intRows,6)->Range->InsertAfter(number_format($result["Used"],2));
$objTable->Cell($intRows,6)->Range->ParagraphFormat->Alignment = 2;
}
$MyRange3 = $WrdDoc->Paragraphs->Add->Range;
$MyRange3->ParagraphFormat->Alignment = $wdAlignParagraphRight;
$MyRange3->Font->Name = "Verdana";
$MyRange3->Font->Size = "10";
$MyRange3->InsertBefore(chr(13).chr(13).chr(13)." ................................Manager".chr(13).date("Y-m-d H:i:s"));
//$WrdDoc->SaveAs($strPath."/".$DocName);
$WrdDoc->SaveAs(realpath($DocName));
$Wrd->Application->Quit;
$Wrd = null;
?>
Word Created <a href="<?=$DocName?>">Click here</a> to Download.
</body>
</html>
Ref : PHP & Word (Word.Application) - Word Document Sample Report
|
|
|
|
|
Date :
2010-01-22 10:02:07 |
By :
panyapol |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับขอไปนั่งงงแกะก่อนครับ พอดีมือใหม่ครับ....
|
|
|
|
|
Date :
2010-01-22 10:31:42 |
By :
royugsorn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับบบบ หรือมีอีกวิธีนึงนะทำเป็น PDF
|
|
|
|
|
Date :
2010-01-22 10:33:29 |
By :
panyapol |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|