asp.net 實現圖形統計功能

來源:互聯網
上載者:User

所有運行成功的前提是: 必須安裝了 office

default.aspx 頁面

<body>
    <form id="form1" runat="server">
    <div>
        <asp:Image ID="Image1" runat="server" /></div>
    </form>
</body>

在aspx.cs 檔案裡面寫上

引入空間的同時,還要在bin 檔案裡添加引用。

using Microsoft.Office.Interop.Owc11;  (引入空間)

 

Microsoft  Office  XP Web Components(添加引用)  

 

private void MakeLineChart()
    {

        //Y座標軸

        string[] DataName = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" };

        //第一條曲線的資料

        int[] Data = { 0, 10, 20, 100, 40, 50, 60 };

        //第二條曲線的資料

        int[] Data1 = { 100, 50, 41, 86 };

        //第三條曲線的資料

        int[] Data2 = { 10, 50, 100, 30, 50, 60 };

        string strValue1 = "";

        string strValue = "";

        string strValue2 = "";

        string strCateory = "";

        //迴圈取得資料並格式化為OWC10需要的格式,(加'/t')

        for (int i = 0; i < DataName.Length; i++)

        {

            strCateory += DataName[i] + '/t';

        }

        for (int i = 0; i < Data.Length; i++)

        {

            strValue += Data[i].ToString() + '/t';

        }

        for (int i = 0; i < Data1.Length; i++)

        {

            strValue1 += Data1[i].ToString() + '/t';

        }

        for (int i = 0; i < Data2.Length; i++)

        {

            strValue2 += Data2[i].ToString() + '/t';

        }

        OWC10.ChartSpaceClass mySpace = new OWC10.ChartSpaceClass();//建立ChartSpace對象來放置圖表

        OWC10.ChChart myChart = mySpace.Charts.Add(0);//在ChartSpace對象中添加圖表,Add方法返回chart對象

        myChart.Type = OWC10.ChartChartTypeEnum.chChartTypeColumnClustered;//指定圖表的類型為線性圖

        myChart.HasLegend = true;//指定圖表是否需要圖例

        myChart.HasTitle = true;//給定標題

        myChart.Title.Caption = "交易曲線圖";  //圖表名稱

        //給定X/Y軸的圖示說明

        myChart.Axes[0].HasTitle = true;

        myChart.Axes[0].Title.Caption = "數量";  //橫軸名稱

        myChart.Axes[1].HasTitle = true;

        myChart.Axes[1].Title.Caption = "日期"; //縱軸名稱

        //添加一個series(序列)

        myChart.SeriesCollection.Add(0);

        //給定series的名字

        myChart.SeriesCollection[0].SetData(OWC10.ChartDimensionsEnum.chDimSeriesNames, (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, "購買");

        //給定series的分類

        myChart.SeriesCollection[0].SetData(OWC10.ChartDimensionsEnum.chDimCategories, (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, strCateory);

        //給定具體值

        myChart.SeriesCollection[0].SetData(OWC10.ChartDimensionsEnum.chDimValues, (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, strValue);

        //添加一個series

        myChart.SeriesCollection.Add(1);

        //給定series的名字

        myChart.SeriesCollection[1].SetData(OWC10.ChartDimensionsEnum.chDimSeriesNames, (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, "出售");

        //給定series的分類

        myChart.SeriesCollection[1].SetData(OWC10.ChartDimensionsEnum.chDimCategories, (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, strCateory);

        //給定具體值

        myChart.SeriesCollection[1].SetData(OWC10.ChartDimensionsEnum.chDimValues, (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, strValue1);

        //添加一個series

        myChart.SeriesCollection.Add(2);

        //給定series的名字

        myChart.SeriesCollection[2].SetData(OWC10.ChartDimensionsEnum.chDimSeriesNames, (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, "總成交");

        //給定series的分類

        myChart.SeriesCollection[2].SetData(OWC10.ChartDimensionsEnum.chDimCategories, (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, strCateory);

        //給定具體值

        myChart.SeriesCollection[2].SetData(OWC10.ChartDimensionsEnum.chDimValues, (int)OWC10.ChartSpecialDataSourcesEnum.chDataLiteral, strValue2);

        //輸出成GIF檔案

        string strAbsolutePath = (Server.MapPath(".")) + @"/Image/tempChart.gif";

        Response.Write(strAbsolutePath);

        mySpace.ExportPicture(strAbsolutePath, "GIF", 300, 300); //輸出圖表

        //建立GIF檔案的相對路徑

        string strRelativePath = "Image/tempChart.gif";

        //把圖片添加到Image

        Image1.ImageUrl = strRelativePath;

    }
    public void lixing()
    {
        //圖表類型枚舉

OWC11.ChartChartTypeEnum[] chartTypes = new OWC11.ChartChartTypeEnum[]
{

ChartChartTypeEnum.chChartTypeColumnClustered,

  ChartChartTypeEnum.chChartTypeColumn3D,

  ChartChartTypeEnum.chChartTypeBarClustered,

  ChartChartTypeEnum.chChartTypeBar3D,

  ChartChartTypeEnum.chChartTypeArea,

  ChartChartTypeEnum.chChartTypeArea3D,

  ChartChartTypeEnum.chChartTypeDoughnut,

  ChartChartTypeEnum.chChartTypeLineStacked,

  ChartChartTypeEnum.chChartTypeLine3D,

  ChartChartTypeEnum.chChartTypeLineMarkers,

  ChartChartTypeEnum.chChartTypePie,

  ChartChartTypeEnum.chChartTypePie3D,

  ChartChartTypeEnum.chChartTypeRadarSmoothLine,

  ChartChartTypeEnum.chChartTypeSmoothLine
};

string[] chartTypesCh = new string[] { "垂直柱狀統計圖", "3D垂直柱狀統計圖", "水平柱狀統計圖","3D水平柱狀統計圖", "地區統計圖", "3D地區統計圖", "中空餅圖", "折線統計圖", "3D折線統計圖", "折線帶點統計圖", "餅圖", "3D餅圖", "網狀統計圖", "弧線統計圖" };
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        MakeLineChart();
    }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.