• 使用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);
            }
        }
  • 相关阅读:
    PAIRING WORKFLOW MANAGER 1.0 WITH SHAREPOINT 2013
    Education resources from Microsoft
    upgrade to sql server 2012
    ULSViewer sharepoint 2013 log viewer
    Top 10 Most Valuable Microsoft SharePoint 2010 Books
    讨论 Setsockopt选项
    使用 Alchemy 技术编译 C 语言程序为 Flex 可调用的 SWC
    Nagle's algorithm
    Nagle算法 TCP_NODELAY和TCP_CORK
    Design issues Sending small data segments over TCP with Winsock
  • 原文地址:https://www.cnblogs.com/94cool/p/2043241.html
Copyright © 2020-2023  润新知