|
|
|
ใครพอทราบวิธีทำ report ออกรายงาน เป็น word มั่งละครับ |
|
|
|
|
|
|
|
และนี่โค๊ต
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));
include "../../connect.php";
$strSQL = "SELECT * FROM register";
$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["re_id"]);
$objTable->Cell($intRows,1)->Range->ParagraphFormat->Alignment = 1;
$objTable->Cell($intRows,2)->Range->InsertAfter($result["re_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>
|
|
|
|
|
Date :
2011-12-16 11:43:46 |
By :
ploypetpot |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code ตัวอย่างนั้นผมใช้บน Office 2003 / Office XP น่ะครับ คือจะต้องลงตังใดตัวหนึ่งก่อนครับ
|
|
|
|
|
Date :
2011-12-16 13:39:41 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*-**
|
|
|
|
|
Date :
2012-05-15 20:58:48 |
By :
recka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|