C#OWC生成图表
c# 生成 图表
2023-06-13 09:14:10 时间
1、如何安装OWC组件
OWC是OfficeWebCompents的缩写,即Microsoft的OfficeWeb组件,包含SpreadSheet组件、Chart组件、PioTable组件和DataSource组件。
只要装了Office办公软件,在C:\ProgramFiles\MSECache\owc11_12中会有一个安装文件:OWC11.msi(offic2003)
2、安装完成后,新建一个工程,再添加引用...-->com-->MicrosoftOfficeWebcomponents11.0在bin文件夹中:Interop.OWC10.dll
引用空间:usingMicrosoft.Office.Interop.Owc11;
复制代码代码如下:
OWC是OfficeWebCompents的缩写,即Microsoft的OfficeWeb组件,包含SpreadSheet组件、Chart组件、PioTable组件和DataSource组件。
只要装了Office办公软件,在C:\ProgramFiles\MSECache\owc11_12中会有一个安装文件:OWC11.msi(offic2003)
2、安装完成后,新建一个工程,再添加引用...-->com-->MicrosoftOfficeWebcomponents11.0在bin文件夹中:Interop.OWC10.dll
引用空间:usingMicrosoft.Office.Interop.Owc11;
privatevoidMakeLineChart()
{
//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};
stringstrValue1="";
stringstrValue="";
stringstrValue2="";
stringstrCateory="";
//循环取得数据并格式化为OWC10需要的格式,(加"\t")
for(inti=0;i<DataName.Length;i++)
{
strCateory+=DataName[i]+"\t";
}
for(inti=0;i<Data.Length;i++)
{
strValue+=Data[i].ToString()+"\t";
}
for(inti=0;i<Data1.Length;i++)
{
strValue1+=Data1[i].ToString()+"\t";
}
for(inti=0;i<Data2.Length;i++)
{
strValue2+=Data2[i].ToString()+"\t";
}
OWC10.ChartSpaceClassmySpace=newOWC10.ChartSpaceClass();//创建ChartSpace对象来放置图表
OWC10.ChChartmyChart=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文件
stringstrAbsolutePath=(Server.MapPath("."))+@"\Images\tempChart.gif";
Response.Write(strAbsolutePath);
mySpace.ExportPicture(strAbsolutePath,"GIF",300,300);//输出图表
//创建GIF文件的相对路径
stringstrRelativePath="Images/tempChart.gif";
//把图片添加到Image
Image1.ImageUrl=strRelativePath;
}
//图表类型枚举
OWC11.ChartChartTypeEnum[]chartTypes=newOWC11.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=newstring[]{"垂直柱状统计图","3D垂直柱状统计图","水平柱状统计图","3D水平柱状统计图","区域统计图","3D区域统计图","中空饼图","折线统计图","3D折线统计图","折线带点统计图","饼图","3D饼图","网状统计图","弧线统计图"};
相关文章
- 详细AutoEventWireup <@ Page language=c# AutoEventWireup=”false”和“True”>的研究
- c#面试题抽象类和接口的区别-金三银四面试:C#程序员经常遇到的30道基础面试题,想你所想
- 通过C#来加载X509格式证书文件并生成RSA对象详解编程语言
- C#中事件处理的个人体会
- C#实现ComboBox自动匹配字符
- c#多图片上传并生成缩略图的实例代码
- 关于C#生成MongoDB中ObjectId的实现方法
- C#中通过API实现的打印类实例代码
- c#生成随机时间的小例子
- c#生成站点地图(SiteMapPath)文件示例程序
- C#键盘Enter键取代Tab键实现代码
- C#连接SQL数据库的方法及常用连接字符串
- c#生成验证码程序
- c#的时间日期操作示例分享(c#获取当前日期)
- c#生成高清缩略图的二个示例分享
- C#索引器介绍
- C#生成饼形图及添加文字说明实例代码
- C#生成word记录实例解析
- C#实现移除字符串末尾指定字符的方法
- C#生成设置范围内的Double类型随机数的方法