最近做一个项目,按客户需求,需要生成一些报表,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 < 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(".")) + @"\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饼图", "网状统计

图", "弧线统计图" };

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ajaxchen_615/archive/2009/06/10/4258307.aspx

转载于:https://www.cnblogs.com/Alum/archive/2010/04/14/3587989.html

c#中显示Excel控件使用说明相关推荐

  1. WinForm中使用Excel控件

     最近项目中要在WinForm中使用Excel控件,经过几天的研究,现在总结一下成果. 在WinForm中使用Excel控件主要有三种方法:WebBrowser.DSOFramer.OWC.下面分别 ...

  2. 半透明窗口中显示标准控件(控件与文字不透明)的实现方案(附源码)

    和大家分享一下在半透明窗口中显示标准控件的实现方案.通过层叠窗口可以简单实现半透明与不规则形状窗口的效果,但在其上显示标准控件(控件与文字不透明)却是件比较有挑战的事情,这里会给出一个可行的解决方案. ...

  3. Web中无法使用Excel控件

    最近,受到微软防盗版安全机制的影响,原来web系统中的Excel控件无法使用了.测试发现由2008-10-16的补丁KB956391发起的.故,卸载该补丁后,系统正常使用Excel控件.

  4. Maps模块管理地图控件,用于在web页面中显示地图控件,提供各种接口操作地图控件,如添加标点、路线等。通过plus.maps可获取地图管理对象

    方法: openSysMap: 调用系统第三方程序进行导航 create: 创建Map对象 getMapById: 查找已经创建的Map对象 对象: Map: 地图控件对象 MapStyles: 地图 ...

  5. asp.net中显示DataGrid控件列序号的几种方法

    在aps.net中多数据绑定的控件很多,论功能来说,应该属DataGrid最为齐全,但它没有提供现成的显示记录序号的功能,不过我们可以通过它所带的一些参数来间接得到序号,下面来看看怎样得到和显示序号值 ...

  6. 网页中嵌入Excel控件

    前提, 客户端必须装windows office Excel,我机器上装的时office 2003,如果你机器装的是office 2007只要把 object id="_obj_Excel& ...

  7. Gridview导出到Excel,Gridview中的各类控件,Gridview中删除记录的处理

    Asp.net 2.0中新增的gridview控件,是十分强大的数据展示控件,在前面的系列文章里,分别展示了其中很多的基本用法和技巧(详见< ASP.NET 2.0中Gridview控件高级技巧 ...

  8. C# WinForm中 获得当前鼠标所在控件 或 将窗体中鼠标所在控件名显示在窗体标题上...

    转:/********************** * 课题:将窗体中鼠标所在控件名显示在窗体标题上  * 作者:ZAXX  * QQ : 94027486  * 本课题可简单扩展:获取屏幕上鼠标所在 ...

  9. Developer Express控件组合中的GridControl控件,如何自动显示每一行的序号

    Developer Express控件组合中的GridControl控件,如何自动显示每一行的序号? 比方说有10条数据记录,我要在记录旁边显示1.2.3.4.这样的数字. 但是,如果更改了数据记录的 ...

最新文章

  1. LTE: MIB和SIB,小区选择和重选规则
  2. 有关Spring 3.0的发布
  3. think in java i o_《Thinking in Java》学习——18章Java I/O系统(三)
  4. c++ 字符串合并_C语言输入字符和字符串(所有函数大汇总)
  5. 【渝粤题库】陕西师范大学202081 管理学 作业 (专升本、高起本、高起专)
  6. c语言 将点同时保证x坐标从小到大,y坐标从小到大地排序,C语言第五六次作业.ppt...
  7. FTP连接时出现“227 Entering Passive Mode”的解决方法
  8. Oracle date日期类型使用
  9. struts2:表单标签
  10. RJ-45接口信号定义
  11. iOS IPV6审核被拒 - 芒果iOS开发
  12. 计算机管理 服务在哪,信息服务,教您哪里打开Internet信息服务(IIS)管理器
  13. 获取电脑上连接的USB打印机
  14. 12V转5V原理图(LM2596)
  15. python 画图工具——matplotlib命令式函数
  16. ES集群单机(单节点/多节点)搭建
  17. 常见互联网职业英文简写,你是哪个O?
  18. python—leetcode-459. 重复的子字符串
  19. 王立平--scard0与scard1分别指的是什么?以及路径获取
  20. [GXYCTF2019]Ping Ping Ping 1解题思路

热门文章

  1. 百度文字转语音 语音播报
  2. PHP框架页面作业,高校邦《ThinkPHP框架技术》作业题库
  3. USB接口不能用了,提示一个接口上的电涌(收藏)
  4. 风尚云网面试题系列—JS高频手写代码题
  5. 边框0.5px实现方法
  6. 洛谷P3750 分手是祝愿 题解
  7. PHP导Excel文件例二
  8. 修改Issue默认经办人为报告人
  9. Arduino IAP(OTA)远程升级与Flash文件读写
  10. 如何更改Odoo13 登录页面的右下角的广告连接