web 2.0

How to use PHP & Chart/Graph (Excel.Application)

How to use PHP & Chart/Graph  (Excel.Application) To use Excel.Application. Will need to install Microsoft Excel and is compatible with Windows Server only

Screenshot

PHP & Excel.Application

And check the status of the right to access to DCOM. If the problem please read the article

http://www.shotdev.com/asp/asp-config-excel.application/

.
.
.
Example 1

php_chart_excel1.php


<html>
<head>
<title>ShotDev.Com Tutorial</title>
</head>
<body>
<?
//*** Connect to MySQL Database ***//
$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
$objDB = mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM customer";
$objQuery = mysql_query($strSQL);
if($objQuery)
{
//*** Get Document Path ***//
$strPath = realpath(basename(getenv($_SERVER["SCRIPT_NAME"]))); // C:/AppServ/www/myphp

//*** File Name Gif,Jpeg,... ***//
$FileName = "MyXls/MyChart.xls";

//*** Connect to Excel.Application ***//
$xlApp = new COM("Excel.Application");
$xlBook = $xlApp->Workbooks->Add();

$intStartRows = 3;
$intEndRows = mysql_num_rows($objQuery)+($intStartRows-1);

$xlSheet = $xlBook->Worksheets(1);

$xlApp->Application->Visible = False;

//*** Delete Sheet (2,3) - Sheet Default ***//
$xlBook->Worksheets(2)->Select;
$xlBook->Worksheets(2)->Delete;
$xlBook->Worksheets(2)->Select;
$xlBook->Worksheets(2)->Delete;

//*** Sheet Data Rows ***//
$xlBook->Worksheets(1)->Name = "MyReport";
$xlBook->Worksheets(1)->Select;

$xlBook->ActiveSheet->Cells(1,1)->Value = "My Customer";
$xlBook->ActiveSheet->Cells(1,1)->Font->Bold = True;
$xlBook->ActiveSheet->Cells(1,1)->Font->Name = "Tahoma";
$xlBook->ActiveSheet->Cells(1,1)->Font->Size = 16;

$xlBook->ActiveSheet->Cells(2,1)->Value = "Customer Name";
$xlBook->ActiveSheet->Cells(2,1)->Font->Name = "Tahoma";
$xlBook->ActiveSheet->Cells(2,1)->BORDERS->Weight = 1;
$xlBook->ActiveSheet->Cells(2,1)->Font->Size = 10;
$xlBook->ActiveSheet->Cells(2,1)->MergeCells = True;

$xlBook->ActiveSheet->Cells(2,2)->Value = "Used";
$xlBook->ActiveSheet->Cells(2,2)->BORDERS->Weight = 1;
$xlBook->ActiveSheet->Cells(2,2)->Font->Name = "Tahoma";
$xlBook->ActiveSheet->Cells(2,2)->Font->Size = 10;
$xlBook->ActiveSheet->Cells(2,2)->MergeCells = True;

//*** Data Rows ***//
$i = 0;
While($result = mysql_fetch_array($objQuery))
{
$xlBook->ActiveSheet->Cells($intStartRows+$i,1)->Value = $result["Name"];
$xlBook->ActiveSheet->Cells($intStartRows+$i,2)->Value = $result["Used"];
$xlBook->ActiveSheet->Cells($intStartRows+$i,2)->NumberFormat = "$#,##0.00";
$i++;
}
//*** End Data Rows ***//

//*** Creating Chart ***//
$xlBook->Charts->Add;
$xlBook->ActiveChart->Name = "MyChart";
$xlBook->ActiveChart->ChartType = 54;
$xlBook->ActiveChart->SetSourceData ($xlBook->Sheets("MyReport")->Range("A".$intStartRows.":B".$intEndRows.""));

//*** Sheet Properties ***//
$xlBook->ActiveChart->HasTitle = True;
$xlBook->ActiveChart->ChartTitle->Characters->Text = "My Chart";

//*** Save Excel ***//
@unlink($strPath."/".$FileName);
$xlBook->SaveAs($strPath."/".$FileName);

$xlApp->Application->Quit;
}
?>
Excel Created <a href="<?=$FileName?>">Click here</a> to Download.
</body>
</html>

Create a php file and save to path root-path/myphp/

Run
http://localhost/myphp/php_chart_excel1.php

Screenshot

PHP & Chart/Graph (Excel.Application)

.
.
Example 2

php_chart_excel2.php


<html>
<head>
<title>ShotDev.Com Tutorial</title>
</head>
<body>
<?
//*** Connect to MySQL Database ***//
$objConnect = mysql_connect("localhost","root","root") or die(mysql_error());
$objDB = mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM customer";
$objQuery = mysql_query($strSQL);
if($objQuery)
{
//*** Get Document Path ***//
$strPath = realpath(basename(getenv($_SERVER["SCRIPT_NAME"]))); // C:/AppServ/www/myphp

//*** File Name Gif,Jpeg,... ***//
$FileName = "MyXls/MyChart.xls";

//*** Connect to Excel.Application ***//
$xlApp = new COM("Excel.Application");
$xlBook = $xlApp->Workbooks->Add();

$intStartRows = 3;
$intEndRows = mysql_num_rows($objQuery)+($intStartRows-1);

$xlSheet = $xlBook->Worksheets(1);

$xlApp->Application->Visible = False;

//*** Delete Sheet (2,3) - Sheet Default ***//
$xlBook->Worksheets(2)->Select;
$xlBook->Worksheets(2)->Delete;
$xlBook->Worksheets(2)->Select;
$xlBook->Worksheets(2)->Delete;

//*** Sheet Data Rows ***//
$xlBook->Worksheets(1)->Name = "MyReport";
$xlBook->Worksheets(1)->Select;

$xlBook->ActiveSheet->Cells(1,1)->Value = "My Customer";
$xlBook->ActiveSheet->Cells(1,1)->Font->Bold = True;
$xlBook->ActiveSheet->Cells(1,1)->Font->Name = "Tahoma";
$xlBook->ActiveSheet->Cells(1,1)->Font->Size = 16;

$xlBook->ActiveSheet->Cells(2,1)->Value = "Customer Name";
$xlBook->ActiveSheet->Cells(2,1)->Font->Name = "Tahoma";
$xlBook->ActiveSheet->Cells(2,1)->BORDERS->Weight = 1;
$xlBook->ActiveSheet->Cells(2,1)->Font->Size = 10;
$xlBook->ActiveSheet->Cells(2,1)->MergeCells = True;

$xlBook->ActiveSheet->Cells(2,2)->Value = "Used";
$xlBook->ActiveSheet->Cells(2,2)->BORDERS->Weight = 1;
$xlBook->ActiveSheet->Cells(2,2)->Font->Name = "Tahoma";
$xlBook->ActiveSheet->Cells(2,2)->Font->Size = 10;
$xlBook->ActiveSheet->Cells(2,2)->MergeCells = True;

$i = 0;
While($result = mysql_fetch_array($objQuery))
{
$xlBook->ActiveSheet->Cells($intStartRows+$i,1)->Value = $result["Name"];
$xlBook->ActiveSheet->Cells($intStartRows+$i,2)->Value = $result["Used"];
$xlBook->ActiveSheet->Cells($intStartRows+$i,2)->NumberFormat = "$#,##0.00";
$i++;
}
//*** End Data Rows ***//

//*** Creating Chart ***//
$xlBook->Charts->Add;
$xlBook->ActiveChart->ChartType = 54;
$xlBook->ActiveChart->SetSourceData ($xlBook->Sheets("MyReport")->Range("A".$intStartRows.":B".$intEndRows.""));

//*** Set Localtion Sheet ***//
$xlBook->ActiveChart->Location(2,"MyReport");

//*** Sheet Properties ***//
$xlBook->ActiveChart->HasTitle = True;
$xlBook->ActiveChart->ChartTitle->Characters->Text = "My Chart";

//*** Location  ***//
$xlBook->ActiveSheet->Shapes("Chart 1")->IncrementLeft(20);
$xlBook->ActiveSheet->Shapes("Chart 1")->IncrementTop(-97.5);

//'*** Set Height & Width ***'
$xlBook->ActiveSheet->Shapes("Chart 1")->ScaleHeight(1.0, 0,0);
$xlBook->ActiveSheet->Shapes("Chart 1")->ScaleWidth(1.0, 0,0);

//*** Save Excel ***//
@unlink($strPath."/".$FileName);
$xlBook->SaveAs($strPath."/".$FileName);
//$xlBook->SaveAs(realpath($FileName));

$xlApp->Application->Quit;
}
?>
Excel Created <a href="<?=$FileName?>">Click here</a> to Download.

</body>
</html>

Create a php file and save to path root-path/myphp/

Run
http://localhost/myphp/php_chart_excel2.php

Screenshot

PHP & Chart/Graph (Excel.Application)
.
.
.
Download this script.
Download

1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars (No Ratings Yet)
Loading ... Loading ...

Leave a Reply

You must be logged in to post a comment.