zoukankan      html  css  js  c++  java
  • 使用OWC生成数据分析图表

    首先在VS2005----》网站----》添加引用----》com----->microsoft office web components
    private void getchart(DataTable dt, int rows)
        {
            
    try
            {
                
    int count = dt.Rows.Count;
    if (count < 3)
                {
                    divchart.InnerHtml = "<span style='color:red'>数据少于3条,无法生成图表!</span>";
    return;
                }
                
    //存放月
                string[] MonNum = new string[count];
                
    //存放数据
                string[] MonCount = new string[count];
                
    string[] MonCount1 = new string[count];
                
    //为数组赋值
                for (int i = 0; i < count; i++)
                {
                    MonNum[i] 
    = dt.Rows[i][3].ToString();
                    MonCount[i] 
    = dt.Rows[i][1].ToString();
                    MonCount1[i] 
    = dt.Rows[i][2].ToString();
                }
                
    string strXdata = String.Empty;
                
    foreach (string strData in MonNum)
                {
                    strXdata 
    += strData + "\t";
                }
                
    string strYdata = String.Empty;
                
    foreach (string strValue in MonCount)
                {
                    strYdata 
    += strValue + "\t";
                }

                
    string strYdata1 = String.Empty;
                
    foreach (string strValue in MonCount1)
                {
                    strYdata1 
    += strValue + "\t";
                }

                ChartSpace laySpace 
    = new ChartSpaceClass();


                ChChart InsertChart 
    = laySpace.Charts.Add(0);


                InsertChart.Type 
    = ChartChartTypeEnum.chChartTypeBarClustered;

                
    string type = "1";
                
    if (Request.QueryString["type"!= null)
                {
                    type 
    = Request.QueryString["type"].ToString();
                }

                InsertChart.HasLegend 
    = true;
                InsertChart.HasTitle 
    = true;
                InsertChart.Title.Caption 
    = "销售记录";

                InsertChart.Axes[
    0].HasTitle = true;
                InsertChart.Axes[
    0].Title.Caption = string.Format("日期({0})", type == "1" ? "" : "");

                

                
    //刻度格式 
                
                InsertChart.Axes[
    1].HasTitle = true;
                InsertChart.Axes[
    1].Scaling.SplitMinimum = 200;
                InsertChart.Axes[
    1].Title.Caption = "金额(元)";

                InsertChart.SeriesCollection.Add(
    0);
                InsertChart.SeriesCollection[
    0].DataLabelsCollection.Add();
                InsertChart.SeriesCollection[
    0].DataLabelsCollection[0].HasValue = true;
                InsertChart.SeriesCollection[
    0].SetData(ChartDimensionsEnum.chDimSeriesNames, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, "销售总额");
                InsertChart.SeriesCollection[
    0].SetData(ChartDimensionsEnum.chDimCategories, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, strXdata);
                InsertChart.SeriesCollection[
    0].SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, strYdata);

                InsertChart.Axes[
    0].GroupingType = OWC10.ChartAxisGroupingEnum.chAxisGroupingManual;
                InsertChart.Axes[
    0].GroupingUnitType = ChartAxisUnitTypeEnum.chAxisUnitMonth;
                InsertChart.Axes[
    0].NumberFormat = "yyyy-MM";
                InsertChart.Axes[
    0].GroupingUnit = 1;


                InsertChart.SeriesCollection.Add(
    1);
                InsertChart.SeriesCollection[
    1].DataLabelsCollection.Add();
                InsertChart.SeriesCollection[
    1].DataLabelsCollection[0].HasValue = true;
                InsertChart.SeriesCollection[
    1].SetData(ChartDimensionsEnum.chDimSeriesNames, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, "已消费");
                InsertChart.SeriesCollection[
    1].SetData(ChartDimensionsEnum.chDimCategories, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, strXdata);
                InsertChart.SeriesCollection[
    1].SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, strYdata1);

                
    string fn = DateTime.Now.ToString("yyyyMMddHHmmss"+ ".gif";
                
    string strAbsolutePath = (Server.MapPath(Config.Temp_Path)) + fn;
                int height = rows * (rows > 10 ? 30 : 50);//数据间宽度
                laySpace.ExportPicture(strAbsolutePath, "GIF", 660, height);
          
             divchart.InnerHtml = "<img src='/upload/temp/" + fn + "'>";
            }
            
    catch (Exception ex)
            {
                Console.Write(ex.Message);
            }
        }
  • 相关阅读:
    Java回调函数
    ajax数据展示过程中中文乱码问题
    ajax数据传递过程中中文乱码问题
    HDInsight - 1,简介
    HBase初探
    String类
    谈谈用户体验中的表单设计-实践篇
    谈谈用户体验中的表单设计-理论篇
    Win CE 6.0 获取手持机GPS定位2----示例代码 (C#)
    Win CE 6.0 获取手持机GPS定位1----基础知识 (C#)
  • 原文地址:https://www.cnblogs.com/94cool/p/2043241.html
Copyright © 2011-2022 走看看