提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:我只采一朵|2018-01-11 10:42:37.000|阅读 547 次
概述:如果你以预览模式手动设置首选项,使用这些保存选项并不困难。但是如何使用代码来实现自动保存呢?
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
在预览模式下,你不仅可以访问报表的导出,还可以访问一些用于保存报表的选项,例如Box、DropBox、GoogleDrive等。在“保存”菜单中突出显示了一个特殊部分,其中包含用于将报表保存到各种云服务的选项:
我们可用的有:
后一个选项使用FastCloud云服务来存储和构建报表。XMPP协议将报表的链接发送给jabber客户端。如果你以预览模式手动设置首选项,使用这些保存选项并不困难。但是如何使用代码来实现自动保存呢?
本文将详细介绍这个解决方案。
除了FastCloud之外,所有的云服务都使用OAuth类型的授权。这是一种授权协议,允许你在不使用服务中的真实登录名和密码的情况下为应用程序提供对云服务的访问权限。但是,你可以限制访问权限。你将得到一个标识符和一个密钥,你需要使用它来授权。
要获取客户端ID和客户端密钥,你需要创建应用程序并将其注册到云服务的OAuth服务器上。
因此,我们需要至少指定两个参数来将报表保存到云服务。我们按照顺序一一讲解。
1. 对于Box服务:
首先,你需要添加FastReport库:
使用FastReport;我们创建一个ClientInfo类的实例,它将包含授权信息:
FastReport.Cloud.StorageClient.SkyDrive.ClientInfo clientInfo = new FastReport.Cloud.StorageClient.SkyDrive.ClientInfo("ClientName", "ClientId", "ClientSecret");
ClientInfo 可以接受三个参数:ClientName、ClientId和ClientSecret。在我们的例子中,ClientId和ClientSecret是必需的。然后创建一个GoogleDrive客户端来保存报表:
FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient client = new FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient(clientInfo);
创建一个报表对象并将报表加载到该对象中:
Report report = new Report(); report.Load(@"C:\Program Files (x86)\FastReports\FastReport.Net\Demos\Reports\Text.frx");
如果要以非本地fpx格式(报表预览格式)保存报表,则需要创建一个导出实例:
FastReport.Export.Pdf.PDFExport pdf = new FastReport.Export.Pdf.PDFExport();
使用客户端保存报表:
client.SaveReport(report, pdf);
如果以fpx格式保存报表,则可以传递null而不是第二个参数:
client.SaveReport(report, null);
2. 对于DropBox则略有不同。在OAuth中,你也可以使用访问令牌。这是作为成功授权的结果而生成的访问密钥。通过这样一个令牌,我们似乎恢复了以前的授权。为DropBox创建一个客户端,并以文本格式传递访问令牌:
FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient drop = new FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient("accessToken");
代理设置:
drop.ProxySettings.Server = ""; drop.ProxySettings.Port = 999; drop.ProxySettings.ProxyType = FastReport.Cloud.ProxyType.Http; drop.ProxySettings.Username = "Username"; drop.ProxySettings.Password = "Password";
接下来,如前例所示:
Report report = new Report(); report.Load(@"C:\Program Files (x86)\FastReports\FastReport.Net\Demos\Reports\Text.frx");
保存报表:
drop.SaveReport(report, null);
3. 对于GoogleDrive:
FastReport.Cloud.StorageClient.SkyDrive.ClientInfo clientInfo = new FastReport.Cloud.StorageClient.SkyDrive.ClientInfo("ClientName", "ClientId", "ClientSecret"); GoogleDriveStorageClient client = new GoogleDriveStorageClient(clientInfo);
代理设置,如有必要的话:
client.ProxySettings.Server = ""; client.ProxySettings.Port = 999; client.ProxySettings.ProxyType = FastReport.Cloud.ProxyType.Http; client.ProxySettings.Username = "Username"; client.ProxySettings.Password = "Password";
创建一个报表:
Report report = new Report(); report.Load(@"C:\Program Files (x86)\FastReports\FastReport.Net\Demos\Reports\Text.frx");
创建导出:
FastReport.Export.Pdf.PDFExport pdf = new FastReport.Export.Pdf.PDFExport();
保存报表:
client.SaveReport(report, pdf);
4. 对于OneDrive:
FastReport.Cloud.StorageClient.SkyDrive.ClientInfo clientInfo = new FastReport.Cloud.StorageClient.SkyDrive.ClientInfo("ClientName", "ClientId", "ClientSecret"); FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClient one = new FastReport.Cloud.StorageClient.SkyDrive.SkyDriveStorageClient(clientInfo);
代理设置,如有必要的话:
one.ProxySettings.Server = ""; one.ProxySettings.Port = 999; one.ProxySettings.ProxyType = FastReport.Cloud.ProxyType.Http; one.ProxySettings.Username = "Username"; one.ProxySettings.Password = "Password";
创建一个报表:
Report report = new Report(); report.Load(@"C:\Program Files (x86)\FastReports\FastReport.Net\Demos\Reports\Text.frx"); one.SaveReport(report, null);
5. 对于FastCloud则有所不同。它不使用OAuth协议。授权是通过电子邮件地址和密码进行的。创建一个FastCloud客户端:
FastReport.Cloud.StorageClient.FastCloud.FastCloudStorageClient fast = new FastReport.Cloud.StorageClient.FastCloud.FastCloudStorageClient();
分配一个令牌。要生成令牌,请使用 GetAccessToken
方法:
fast.AccessToken = fast.GetAccessToken("email@mail.com", "password");
创建一个导出的实例:
FastReport.Export.RichText.RTFExport rich = new FastReport.Export.RichText.RTFExport(); Report report = new Report(); report.Load(@"C:\Program Files (x86)\FastReports\FastReport.Net\Demos\Reports\Text.frx"); fast.SaveReport(report, rich);
6. 将报表发送给Jabber(XMPP)。这之前,我们需要创建一个xmpp客户端:
FastReport.Messaging.Xmpp.XmppMessenger messenger = new FastReport.Messaging.Xmpp.XmppMessenger("user@xmpp.jp", "password", "user@xmpp.jp");
如果你需要配置代理服务器:
messenger.ProxySettings.Server = "server"; messenger.ProxySettings.Port = 999; messenger.ProxySettings.ProxyType = FastReport.Cloud.ProxyType.Http; messenger.ProxySettings.Username = "username"; messenger.ProxySettings.Password = "password";
然后(或者在之前)创建一个报表对象:
Report report = new Report(); report.Load(@"С:\Program Files (x86)\FastReports\FastReport.Net\Demos\Reports\Text.frx");
我们把它传递给xmpp客户端:
messenger.SendReport(report, null);
完成此代码后,我们向FastCloud云服务发送报表。与此同时,jabber用户收到一条带有报表链接的信息。xmpp客户端中的链接如下所示:
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
本文将演示如何使用DevExpress WPF Grid控件实现列和带的固定,欢迎下载最新版组件体验!
在本文中,我们将探讨如何通过使用 JxBrowser 和 Quill.js 将现代富文本编辑器嵌入到 Java 桌面应用程序中,来克服 Swing、JavaFX 和 SWT 中内置编辑器的局限性。
Word 文档中的批注通常用于协作审阅和反馈。这些批注可能包含文本和图片,它们为文档改进提供了重要的参考信息。本文将演示如何使用 Spire.Doc for Java 在 Java 中提取 Word 文档中的批注文本和图片。
本文主要介绍如何使用DevExpress WinForms Data Grid组件实现列重新排序,欢迎下载最新版组件体验!
用于快速高效地生成报表的附加组件
FastScriptFastScript是一个跨平台的多语言脚本引擎,帮助开发者在他们的应用程序中增加脚本功能。
FastCube VCLFASTCUBE VCL是一款有效的数据分析工具
FastReport .Net一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案。
FastQueryBuilderFastQueryBuilder是一款简单实用的可视SQL请求软件开发包。它与本地CS数据库兼容。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢