web 2.0

How to use ASP & Charts/Graph (Excel.Application)

How to use ASP & Charts/Graph (Excel.Application) This is learn/tutorial asp developers how to using ASP script Create Charts/Graph by Excel.Application

ShotDev Focus:
- ASP & Create Charts/Graph by Excel.Application

Example 1

asp_excel_chart1.asp


<% Option  Explicit %>
<html>
<head>
<title>ShotDev.Com Tutorial</title>
</head>
<body>
<%

Dim xlApp,xlBook,xlSheet
Dim Conn,strSQL,objRec,arrCus,intStartRows,intEndRows,i
Dim Fso,MyFile
Dim bXlsFile,FileName
FileName = "MyXls/MyChart.xls"

Set Conn = Server.Createobject("ADODB.Connection")
Conn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("db/mydatabase.mdb"),"" , ""
strSQL = "SELECT Name,Used FROM customer "
Set objRec = Server.CreateObject("ADODB.Recordset")
objRec.Open strSQL, Conn, 1,3

If Not objRec.EOF and Not objRec.BOF Then
arrCus = objRec.GetRows()
End If

intStartRows = 3
intEndRows = CInt(intStartRows)+CInt(Ubound(arrCus,2))

objRec.Close
Conn.Close
Set objRec = Nothing
Set Conn = Nothing

'*************** Start Generate Chart Excel *******************'
Set xlApp = Server.CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

xlApp.Application.Visible = False

'*** Delete Sheet (2,3) ***'
'xlBook.Worksheets(2).Select
'xlBook.Worksheets(2).Delete
'xlBook.Worksheets(2).Select
'xlBook.Worksheets(2).Delete

xlBook.Sheets.Add
xlBook.ActiveSheet.Name = "Customer"

With xlBook.Sheets("Customer").Cells(1,1)
.Value = "My Customer"
.Font.Bold = True
.Font.Name = "Tahoma"
.Font.Size = 16
End With

With xlBook.Sheets("Customer").Cells(2,1)
.Value = "Customer Name"
.Font.Name = "Tahoma"
.BORDERS.Weight = 1
.Font.Size = 10
.MergeCells = True
End With

With xlBook.Sheets("Customer").Cells(2,2)
.Value = "Used"
.BORDERS.Weight = 1
.Font.Name = "Tahoma"
.Font.Size = 10
.MergeCells = True
End With

For i = 0 To Ubound(arrCus,2)
xlBook.Sheets("Customer").Cells(intStartRows+i,1).Value = arrCus(0,i)
xlBook.Sheets("Customer").Cells(intStartRows+i,2).Value = arrCus(1,i)
xlBook.Sheets("Customer").Cells(intStartRows+i,2).NumberFormat = "$#,##0.00"
Next

'*** Creating Chart ***'
xlBook.Charts.Add
xlBook.ActiveChart.Name = "ExcelGraph"
xlBook.Charts("ExcelGraph").SetSourceData (xlBook.Sheets("Customer").Range("A"&intStartRows&":B"&intEndRows&""))

'*** Chart 3D Columns ***'
With xlBook.Charts("ExcelGraph")
.ChartType = 54
.PlotBy = 1
.HasAxis(1) = 0
End With

'*** If Already exist delete files ***'
Set Fso = CreateObject("Scripting.FileSystemObject")
If (Fso.FileExists(Server.MapPath(FileName))) Then
Set MyFile = Fso.GetFile(Server.MapPath(FileName))
MyFile.Delete
End If

xlSheet.SaveAs Server.MapPath(FileName)
xlApp.Application.Quit

Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
%>
Excel Created <a href="<%=FileName%>">Click here</a> to Download.
</body>
</html>

Create a asp file and save to path root-path/myasp/

Run
http://localhost/myasp/asp_excel_chart1.asp

Screenshot

ASP & Charts/Graph (Excel.Application)

.

Example 2

asp_excel_chart2.asp


<% Option  Explicit %>
<html>
<head>
<title>ShotDev.Com Tutorial</title>
</head>
<body>
<%
Dim xlApp,xlBook,xlSheet
Dim Conn,strSQL,objRec,arrCus,intStartRows,intEndRows,i
Dim Fso,MyFile
Dim bXlsFile,FileName
FileName = "MyXls/MyChart.xls"

Set Conn = Server.Createobject("ADODB.Connection")
Conn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("db/mydatabase.mdb"),"" , ""
strSQL = "SELECT Name,Used FROM customer "
Set objRec = Server.CreateObject("ADODB.Recordset")
objRec.Open strSQL, Conn, 1,3

If Not objRec.EOF and Not objRec.BOF Then
arrCus = objRec.GetRows()
End If

intStartRows = 3
intEndRows = CInt(intStartRows)+CInt(Ubound(arrCus,2))

objRec.Close
Conn.Close
Set objRec = Nothing
Set Conn = Nothing

'*************** Start Excel.Application *******************'
Set xlApp = Server.CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set 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

With xlBook.ActiveSheet.Cells(1,1)
.Value = "My Customer"
.Font.Bold = True
.Font.Name = "Tahoma"
.Font.Size = 16
End With

With xlBook.ActiveSheet.Cells(2,1)
.Value = "Customer Name"
.Font.Name = "Tahoma"
.BORDERS.Weight = 1
.Font.Size = 10
.MergeCells = True
End With

With xlBook.ActiveSheet.Cells(2,2)
.Value = "Used"
.BORDERS.Weight = 1
.Font.Name = "Tahoma"
.Font.Size = 10
.MergeCells = True
End With

For i = 0 To Ubound(arrCus,2)
xlBook.ActiveSheet.Cells(intStartRows+i,1).Value = arrCus(0,i)
xlBook.ActiveSheet.Cells(intStartRows+i,2).Value = arrCus(1,i)
xlBook.ActiveSheet.Cells(intStartRows+i,2).NumberFormat = "$#,##0.00"
Next
'*** End Data Rows ***'

'*** Creating Chart ***'
xlBook.Charts.Add
xlBook.ActiveChart.ChartType = 54
xlBook.ActiveChart.SetSourceData (xlBook.Sheets("MyReport").Range("A"&intStartRows&":B"&intEndRows&""))
'xlBook.ActiveChart.SeriesCollection(1).Name = "Series1"
'xlBook.ActiveChart.SeriesCollection(2).Name = "Series1"
xlBook.ActiveChart.Location 2, "MyReport"

'*** Sheet Properties ***'
With xlBook.ActiveChart
.HasTitle = True
'.PlotBy = 1
.HasAxis(1) = 1
.ChartTitle.Text = "Customer Report"
.ChartTitle.Characters.Text = "Customer Report"
.ChartTitle.Font.Name = "Tahoma"
.ChartTitle.Font.FontStyle = "Bold"
.ChartTitle.Font.Size = 20
.ChartTitle.Font.ColorIndex = 3
.Axes(1,1).HasTitle = True
.Axes(1,1).AxisTitle.Characters.Text = "X"
.Axes(2,1).HasTitle = True
.Axes(2,1).AxisTitle.Characters.Text = "Y"
.HasDataTable = False  '*** DataTable (False/True) ***'
End With

'*** Set Area ***'
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

'*** If Already exist delete files ***'
Set Fso = CreateObject("Scripting.FileSystemObject")
If (Fso.FileExists(Server.MapPath(FileName))) Then
Set MyFile = Fso.GetFile(Server.MapPath(FileName))
MyFile.Delete
End If

xlSheet.SaveAs Server.MapPath(FileName)

xlApp.Application.Quit

Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
%>
Excel Created <a href="<%=FileName%>">Click here</a> to Download.
</body>
</html>

Create a asp file and save to path root-path/myasp/

Run
http://localhost/myasp/asp_excel_chart2.asp

Screenshot

ASP & Charts/Graph (Excel.Application)

.
.
.
Download this script.
Download

1 Star2 Stars3 Stars4 Stars5 Stars6 Stars7 Stars8 Stars9 Stars10 Stars (1 votes, average: 1.00 out of 10)
Loading ... Loading ...

Leave a Reply

You must be logged in to post a comment.