asp.net利用OWC生成饼状图、柱状图

OWC(Microsoft Office Web Components)是 Microsoft Office 使用的数据绑定 ActiveX 控件,安装office就有了,其实也可以单独安装的(google下载),使用OWC做了一个饼状图和柱状图,感觉比较简单,开发难度小,效率比较高,OWC的主要原理是按照所传入的数据生成相应的图片,然后开发人员将该图片加载到相应的位置即可实现效果,个人感觉生成的图比较粗糙,但是真的封装的很好,只需按照函数要求输入数据就OK了,可以设置图片的背景色,字体,大小等等。

在vs2005/2008里面开发的时候先要右键--》添加引用--》Com-》Microsoft Office Web components 11(这是安装了office2007,2003好像直接叫Microsoft  OWc 什么的)

饼状图:

protected void pieBtn_Click(object sender, EventArgs e)
     {
         //创建X坐标的值,表示月份

         int[] month ={ 1, 2, 3 };
         //创建Y坐标的值,表示销售额
         double[] count ={ 120, 240, 220 };
         string strDataName = "";
         string strData = "";
         //创建图表空间
         ChartSpace mychartSpace = new ChartSpace();
         mychartSpace.Border.Color = "White";
         //在图表空间内添加一个图表对象
         ChChart mychart = mychartSpace.Charts.Add(0);
         //设置每块饼的数据

        for(int i=0;i<count.Length;i++)
         {
             strDataName += month[i].ToString()+ "\t";
             strData += count[i].ToString()+ "\t";
         }

         //设置图表类型,本例使用饼
         mychart.Type = ChartChartTypeEnum.chChartTypePie;
         //设置图表的一些属性
         //是否需要图例
         mychart.HasLegend = true;
         //是否需要主题
         mychart.HasTitle = true;
         //主题内容
         mychart.Title.Caption ="饼状图测试";
         mychart.Title.Font.Size = 10;
         mychart.Title.Font.Bold = false;
         mychart.Legend.Position = ChartLegendPositionEnum.chLegendPositionBottom;
         mychart.Legend.Interior.Color = "f9f9f9";
         mychart.Legend.Font.Size = 9;
         mychart.Legend.Border.Color = "White";

         //添加图表块
         mychart.SeriesCollection.Add(0);
         //设置图表块的属性
         //分类属性
         mychart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories,
         (int)ChartSpecialDataSourcesEnum.chDataLiteral, strDataName);
         //值属性
         mychart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues,
         (int)ChartSpecialDataSourcesEnum.chDataLiteral, strData);
         for (int j = 0; j < mychart.SeriesCollection[0].Points.Count; j++)
         {
             mychart.SeriesCollection[0].Points[j].Border.Color = "White";
         }
         //显示百分比
         ChDataLabels mytb = mychart.SeriesCollection[0].DataLabelsCollection.Add();
         mytb.HasPercentage = true;
         //mytb.Border.Color = "White";
         mytb.HasValue = true;
         //生成图片
         mychartSpace.ExportPicture(Server.MapPath(".") + @"\stat.gif", "gif", 700, 400);
         //加载图片
         this.ig.ImageUrl = "stat.gif" + "?temp=" + new Random().Next(1, 100) + ""; ;
     }

时间: 2024-11-03 02:09:07

asp.net利用OWC生成饼状图、柱状图的相关文章

asp.net中生成饼状与柱状图实例_实用技巧

本文实例讲述了asp.net中生成饼状与柱状图的实现方法.分享给大家供大家参考.具体方法如下: 一.生成图形的公共方法: 复制代码 代码如下: using System; using System.Collections.Generic; using System.Text; // //using System.Data; //using System.Web.UI.WebControls; // using System.Drawing; using System.Drawing.Imagin

phpexcel图乱码-无人能解。。phpexcel生成饼状图,在Windows下正常在Linux下乱码!

问题描述 无人能解..phpexcel生成饼状图,在Windows下正常在Linux下乱码! 生成图片导出时,在Windows下整成显示,在Linux上导出的文件里只有乱码 但如果只生成表格,都可以正常显示,这个是代码: include ""PHPExcel.php""; include ""PHPExcel/Writer/Excel5.php""; //用于输出.xls的 //创建新的对象 $objPHPExcel = ne

highcharts如何从SQL Server数据库读取数据生成饼状图

问题描述 highcharts如何从SQL Server数据库读取数据生成饼状图 highcharts如何从SQL Server数据库读取数据生成饼状图 解决方案 这个也是我想关注的问题

php绘图之生成饼状图的方法_php技巧

本文实例讲述了php绘图之生成饼状图的方法.分享给大家供大家参考.具体如下: 这里要实现的功能是人口分布比例图,由扇形组成一个圆,每个扇形颜色不一样. 复制代码 代码如下: <?php $array = array("北京"=>1925,"上海"=>2016,"广州"=>1256,"深圳"=>980); $arr_key = array_keys($array); $color = array()

PHP+mysql+Highcharts生成饼状图_jquery

Mysql 首先我们建一张·chart_pie·表作为统计数据. -- -- 表的结构 `chart_pie` -- CREATE TABLE IF NOT EXISTS `chart_pie` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(30) NOT NULL, `pv` int(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUT

求一个饼状图或柱状图php生成类或例子

饼状图|柱状图 PHP代码:--------------------------------------------------------------------------------/*-------------------------------------------------------------------------*///// Module Name: 一个3D的饼图类//// Author:Avenger(avenger@php.net) Last Modify: 200

jfreechart插件将数据展示成饼状图、柱状图和折线图_javascript技巧

本文以展示柱状图为例进行介绍,当然这仅仅是一种方法而已:还有很多方法可以用于展示图表,例如自定义图表标签.使用jfreechart插件等: 1.导入js文件,包含了很多展示方法: 复制代码 代码如下: <script type="text/javascript" src=<select:link page="/js/ChartObject.js"/>></script> <script type="text/jav

如何在C#的WinForm中制作饼状图和柱状图

饼状图|柱状图 当我们的软件需要各种饼状图和柱状图来表示数据时,我们或许会想到用Offices中的图形控件或是第三方控件,但现在的第三方控件大都需要注册,有些免费的控件会有开发商的标记等.而对于使用Offices的图形控件来说,并不能在程序中得于很好控制,其使用的简易程度也较低,所以在这我给出在C#中使用GDI+实现饼状图和柱状图跟数据库联接显示数据的方法.  using System;  using System.IO;//用于文件存取  using System.Data;//用于数据访问 

ASP.NET动态创建柱状图与饼状图

asp.net|饼状图|创建|动态|柱状图    做web项目开发,难免会遇到动态创建柱状图或饼型图.现在用.net技术实现动态的创建它们.由于本身比较喜欢足球,更是鲁能的球迷,所以就用了鲁能的主场球迷人数作为例子,请不要太惊奇! 一个人在西安的山东人希望鲁能可以提前夺冠!!呵呵,扯远了-- 动态创建柱状图与饼状图的前台HTML代码如下:  <body>    <form id="Form1" method="post" runat="s