(管理统计套表)统计图表最新版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(管理统计套表)统计图表
效果图:
手把手教程:
原理:OWC是OfficeWebCompent的缩写,即Microsoft的OfficeWeb组件,它为在Web中绘制图形提供了灵活的同时也是最基本的机制。
在壹个intranet环境中,如果能够假设客户机上存在特定的浏览器和壹些功能强大的软件(如IE6和Office2000/XP/2003),那么就有能力利用OfficeWeb组件提供壹个交互式图形开发环境。
这种模式下,客户端工作站将在整个任务中分担很大的比重。
理论上说Excel能做的图都能够通过OWC画。
第壹步:
右键点击网站根目录引用。
如图所示:
第二步:
点击“添加引用”后弹出壹个窗口,添加OWC的引用。
如图所示:
点“确定”。
第三步:
代码中引用Microsoft.Office.Interop.Owc11。
全部代码
后台代码:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.SqlClient;//添加数据操作引用
usingMicrosoft.Office.Interop.Owc11;//添加Office组件引用publicpartialclassOWCdrawing:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
//连接数据库且获取特定字符串
stringstrSeriesName="图例1";
stringConnectString="Server=(local);DataBase=web;Uid=sa;Pwd=sa";
stringSql="SELECTmonth,AllcountFROMChart"; SqlConnectionmyConn=newSqlConnection(ConnectString); myConn.Open();
SqlDataAdapterDa=newSqlDataAdapter(Sql,myConn); DataSetds=newDataSet();
Da.Fill(ds);
//存放月
string[]MonNum=newstring[12];
//存放数据
string[]MonCount=newstring[12];
//为数组赋值
for(inti=0;i<ds.Tables[0].Rows.Count;i++)
{
MonNum[i]=ds.Tables[0].Rows[i][0].ToString(); MonCount[i]=ds.Tables[0].Rows[i][1].ToString();
}
//为x轴指定特定字符串,以便显示数据stringstrXdata=String.Empty;
foreach(stringstrDatainMonNum)
{
strXdata+=strData+"\t";
}
stringstrYdata=String.Empty;
//为y轴指定特定的字符串,以便和x轴相对应foreach(stringstrValueinMonCount)
{
strYdata+=strValue+"\t";
}
//创建ChartSpace对象来放置图表ChartSpacelaySpace=newChartSpaceClass(); //在ChartSpace对象中添加图表ChChartInsertChart=laySpace.Charts.Add(0);
//指定绘制图表的类型。
类型能够通过OWC.ChartChartTypeEnum枚举值得到
//InsertChart.Type=ChartChartTypeEnum.chChartTypeLine;//折线图
//InsertChart.Type=ChartChartTypeEnum.chChartTypeArea;//面积图
//InsertChart.Type=ChartChartTypeEnum.chChartTypeBarClustered;//条形图InsertChart.Type=ChartChartTypeEnum.chChartTypeColumnClustered;//柱形图//指定图表是否需要图例标注
InsertChart.HasLegend=false;
InsertChart.HasTitle=true;//为图表添加标题
InsertChart.Title.Caption="2006年清清月儿每个月花销流水账";//标题名称
//为x,y轴添加图示说明
InsertChart.Axes[0].HasTitle=true;
InsertChart.Axes[0].Title.Caption="";//月份
InsertChart.Axes[1].HasTitle=true;
InsertChart.Axes[1].Scaling.SplitMinimum=200;
InsertChart.Axes[1].Title.Caption="数量";
//添加壹个series系列
InsertChart.SeriesCollection.Add(0);
//给定series系列的名字
InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimSeriesNa mes,+(int)ChartSpecialDataSourcesEnum.chDataLiteral,strSeriesName);
//给定分类
InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategorie s,+(int)ChartSpecialDataSourcesEnum.chDataLiteral,strXdata);
//给定值
InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues,(in t)ChartSpecialDataSourcesEnum.chDataLiteral,strYdata);
//输出文件.
stringstrAbsolutePath=(Server.MapPath("."))+"\\ShowData.gif";
laySpace.ExportPicture(strAbsolutePath,"GIF",400,250);
//创建GIF文件的相对路径.
stringstrRelativePath="./ShowData.gif";
//把图片添加到placeholder中,且在页面上显示
stringstrImageTag="<IMGSRC='"+strRelativePath+"'/>";
this.PlaceHolder1.Controls.Add(newLiteralControl(strImageTag));
}
}
前台代码:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="OWCdrawing.as px.cs"Inherits="OWCdrawing"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:///21as pnet</title>
</head>
<body>
<formid="form1"runat="server">
<divstyle="text-align:left">
<tablestyle="width:600px">
<tr>
<tdcolspan="3"style="height:20px">
<strong>怎么样在2.0中使用OWC组件画图</strong></td>
</tr>
<tr>
<tdcolspan="3"rowspan="2"style="height:21px">
<asp:PlaceHolderID="PlaceHolder1"runat="server"></asp:PlaceHolder> </td>
</tr>
<tr>
</tr>
</table>
</div>
</form>
</body>
</html>
数据库SQL脚本:
USE[web]
GO
/******对象:Table[dbo].[Chart]脚本日期:03/27/200722:26:00******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE[dbo].[Chart](
[id][int]IDENTITY(1,1)NOTNULL,
[month][smallint]NULL,
[Allcount][int]NULL
)ON[PRIMARY]
在数据库建好表以后要自己手动假想有12条数据,手动添加,最终结果类似下图:后台程序说明:
最关键就是InsertChart.Type=ChartChartTypeEnum.chChartTypeColumnCluster ed;
你能够在ChartChartTypeEnum后点出其他方法。
如图所示:
下面列出的是其他类型图:
折线图:
面积图:
条形图:
OWC什么图形都能够画,仍能画立体的,请大家自己尝试。
能够参考OWC手册,具体位置:
C:\ProgramFiles\CommonFiles\MicrosoftShared\WebComponents\11\205 2\OWCVBA11.CHM。