สอบถามการเขียนกราฟด้วย ASP แบบ Column Stack ค่ะ ถ้าต้องการจะเปลี่ยนให้กราฟแสดงสลับกันระหว่าง row กับ column ต้องเขียนอย่างไรคะ
ตัวอย่างโค้ดตามนี้ค่ะ
Code (ASP)
<% Option Explicit %>
<html>
<head>
<title>ThaiCreate.Com ASP Excel.Application Tutorial</title>
</head>
<body>
<%
Dim xlApp,xlBook,xlSheet
Dim Conn,strSQL,objRec,arrCus,intStartRows,intEndRows,i
Dim Fso,MyFile
Dim bXlsFile,FileName,Ext,ExlName
'*** File Name Gif,Jpeg,... ***'
FileName = "MyXls/MyChart.Gif"
Ext = "Gif"
'*** Excel Name ***'
ExlName = "MyXls/MyChart.xls"
Set Conn = Server.Createobject("ADODB.Connection")
Conn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("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.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
.ChartType = 55
.PlotBy = 1
.HasTitle = True
.HasAxis(1) = 0
.ChartTitle.Characters.Text = "Customer Report"
.ChartTitle.Font.Name = "Tahoma"
.ChartTitle.Font.FontStyle = "Bold"
.ChartTitle.Font.Size = 15
.ChartTitle.Font.ColorIndex = 3
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")
'*** Save To Gif,Jpeg ***'
If (Fso.FileExists(Server.MapPath(FileName))) Then
Set MyFile = Fso.GetFile(Server.MapPath(FileName))
MyFile.Delete
End If
'xlApp.ActiveChart.Export "C:\Inetpub\wwwroot\myasp\MyXls\MyChart.Gif","Gif"
xlApp.ActiveChart.Export Server.MapPath(FileName),Ext
'*** Save Excel ***'
If (Fso.FileExists(Server.MapPath(ExlName))) Then
Set MyFile = Fso.GetFile(Server.MapPath(ExlName))
MyFile.Delete
End If
xlSheet.SaveAs Server.MapPath(ExlName)
xlApp.Application.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
%>
<strong>Charts Created</strong><br><br><img src="<%=FileName%>"><br><br>
Excel Created <a href="<%=ExlName%>">Click here</a> to Download.
</body>
</html>
ประมาณว่า ถ้าอยากให้กราฟแสดงสลับกันโดยเอาชื่อคนมาเป็นแกน X แทนค่ะTag : ASP
ประวัติการแก้ไข 2014-08-05 10:34:42
Date :
2014-08-05 10:33:59
By :
natties
View :
1666
Reply :
2
หาคำตอบได้แล้วค่ะ
โดยใช้คำสั่ง PlotBy
แต่มีอีก 1 คำถามค่ะ
ถ้าต้องการกำหนดสีของแท่งต่าง ๆ เอง ต้องใช้คำสั่งอย่างไรคะ
ขอบคุณค่ะ
Date :
2014-08-05 11:25:10
By :
natties
Date :
2014-08-05 12:36:19
By :
mr.win
Load balance : Server 03