- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
vsto报告报表开发
VSTO2005报告报表开发小结
搭建VSTO开发环境
安装vs2005
安装office2003
安装office 2003sp1
运行vstor.exe(vs2005安装文件中有此文件)
安装office 2003 sp2
创建vsto Excel项目以以及界面介绍
文件——新建——项目——Visual C#——Office——Excel工作簿——创建新文档或者复制现有文档
打开数据源窗口(数据——显示数据源)。在数据源窗口中可以新建数据源,并将所需要的数据表(数据字段)拖动到主窗口中,可以选择拖过去的类型(ListObject、NamedRange、Label、TextBox等)。拖动后自动生成数据集和DataBing的联系,也可以手动修改DataBing的属性。
.xsd视图可以配置Tableadapter,可以更新、查询数据。
具体操作可以见VSTO视频教程。
服务器(其他应用程序)更新vsto项目
在vsto工程中,将DataSet的modifier属性设置为Public,将CachedInDocument设置为true。这样vsto的数据才能被缓存下来,才能通过其所提供的ServerDocument进行修改。数据以XML格式缓存在数据岛中。
利用ServerDocument更新VSTO项目需弄清楚数据的对应关系。
CachedDataHostItem ———— VSTO项目中的某张Sheet
CachedDataItem ————Sheet中的某个DataSet
更改vsto项目数据时,先将新的数据集的schema整成vsto中缓存数据集的schema。实现方法:将缓存中数据集的schema读出来赋值给新的数据集。
注意:更新数据时,新的数据集的中DataTable的名称要和vsto中对应数据集对应表格的名称一致。并且Serverdocument只会将DataTable中与缓存中对应表格的数据字段名相同的字段更新。
例子:
ServerDocument sDoc = null;
try
{
if (ServerDocument.IsCacheEnabled(xlsPath) == true)
{
sDoc = new ServerDocument(xlsPath);
CachedDataHostItem hostItem = sDoc.CachedData.HostItems[sheetNameSpace];
CachedDataItem dataItem = hostItem.CachedData[cachedDataSet];
System.IO.StringReader schemaReader = new
System.IO.StringReader(dataItem.Schema);
SourceDataSet.ReadXmlSchema(schemaReader);
StringWriter sw = new StringWriter();
SourceDataSet.WriteXml(sw);
dataItem.Xml = sw.ToString();
sDoc.Save();
if(sDoc!=null)
sDoc.Close();
};
}
catch (MissingTypeException ex)
从vsto EXCEL转化为普通的EXCEL
Worksheet.Copy在工作薄间的操作会使得工作表变成普通的Excel工作表。
Owc11.exe下载实现
Object下的Table中设置下载安装owc11.。在装了owc的情况下会被覆盖看不见,没有安装owc自然就可以看到此Table。
Vsto Chart的颜色更改
关键获取其图例Series,在图例中通过Points(编号)获取对应柱子或者饼块,并设置其颜色。
Report.cs解释
public Report(int reportID)构造函数,reportID为数据库表VSTOReport中本页面所用到的报表的编号。具体函数作用参看代码。
public void UpdateReportData(DataSet SourceD
文档评论(0)