2010年8月3日 星期二

ASP 操作 Excel 簡單範例 (二)

又遇到一些新東東
查得我死去活來
所以在這邊記錄一下

<%
   ' 建立圖表 left:10, top:10, width:640, height:320
   Set MyChart = xlApp.ActiveSheet.ChartObjects.Add(10,10,640,320)

   ' 圖表類型為資料標記折線圖
   MyChart.Chart.ChartType = 65

   ' /* 設定圖表資料來源 */
   ' [參數1]: 資料範圍
   ' [參數2]: 1代表以列取數列 / 2代表以欄取數列
   MyChart.Chart.SetSourceData xlSheet.Range("A1:D10"),2

   ' /* X軸文字以日期格式顯示, 字型大小8 */
   ' [參數]: XlAxisType, 1代表xlCategory(X軸) / 2代表xlValue(Y軸)
   Set XAxes = MyChart.Chart.Axes(1)
   XAxes.TickLabels.NumberFormat = "m/d"
   XAxes.TickLabels.Font.Size = 8

   ' Y軸文字字型大小8
   Set YAxes = MyChart.Chart.Axes(2)
   YAxes.TickLabels.Font.Size = 8

   ' /* 圖示置上, 字型大小8 */
   ' [Position參數]: XlLegendPosition
   MyChart.Chart.Legend.Position = -4160
   MyChart.Chart.Legend.Font.Size = 8

   ' 移除多餘的數列
   MyChart.Chart.SeriesCollection(3).Delete
   MyChart.Chart.SeriesCollection(1).Delete

   ' /* 設定數列顏色 */
   ' 設定數列線條為紅色(ColorIndex=3)
   MyChart.Chart.SeriesCollection(1).Border.ColorIndex=3
   ' 設定數列前景色為黑色(ColorIndex=1)
   MyChart.Chart.SeriesCollection(1).MarkerForegroundColorIndex=1
   ' 設定數列背景色為紅色(ColorIndex=3)
   MyChart.Chart.SeriesCollection(1).MarkerBackgroundColorIndex=3
%>

參考資料:
Chart Type Enumeration : Toolbox.com
XlAxisType Enumeration : MSDN
XlLegendPosition Enumeration : MSDN
ColorIndex : MSDN

參考前篇 : ASP 操作 Excel 簡單範例
參考下篇 : ASP 操作 Excel 簡單範例(三)

沒有留言:

張貼留言