您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

C# 使用OWC生成图表

2024/3/16 6:40:04发布19次查看
最近做一个项目,按客户需求,需要生成一些报表,owc是比较合适的组件. 1、如何安装owc组件 owc 是office web compents的缩写,即microsoft的office web组件,包含spreadsheet组件、chart组件、piotable组件和data source组件。 只要装了 office 办公软件 ,
最近做一个项目,按客户需求,需要生成一些报表,owc是比较合适的组件.
1、如何安装owc组件
owc是office web compents的缩写,即microsoft的office web组件,包含spreadsheet组件、chart组件、piotable组件和data source组件。
只要装了 office 办公软件 ,在  c:/program files/msecache/owc11_12 中会有一个安装文件: owc11.msi (offic 2003)
2、安装完成后,新建一个工程,再添加引用...-->com--> microsoft office xp web components  在bin文件夹中:interop.owc10.dll
引用空间:using microsoft.office.interop.owc11;
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
        {
            strcateory += dataname[i] + '/t';
        }
        for (int i = 0; i
        {
            strvalue += data[i].tostring() + '/t';
        }
        for (int i = 0; i
        {
            strvalue1 += data1[i].tostring() + '/t';
        }
        for (int i = 0; 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(.)) + @/images/tempchart.gif;
        response.write(strabsolutepath);
        myspace.exportpicture(strabsolutepath, gif, 300, 300); //输出图表
        //创建gif文件的相对路径
        string strrelativepath = images/tempchart.gif;
        //把图片添加到image
        image1.imageurl = strrelativepath;
    }
//图表类型枚举
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饼图, 网状统计
图, 弧线统计图 };
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product