Speichern des Berichts in Clouds aus dem Code der Anwendung

2017-08-22

Bei der Vorschau des Berichts sind nicht Exports-Features verfügbar, sondern auch einige Varianten vom Speichern, wie Box, DropBox, GoogleDrive usw. Im Menü „Save“ gibt es eine spezielle Sektion mit den verschiedenen Clouds-Services:

 

Für uns sind verfügbar:

1)      Box;

2)      Dropbox;

3)      FastCloud;

4)      GoogleDrive;

5)      OneDrive;

6)      XMPP.

Für letzte Variante verwendet man den Service FastCloud für die Erstellung und das Speichern des Berichts. Durch XMPP wird der Link auf den Bericht in den Jabber-Client wiedergegeben. Bei der Verwendung dieser zwei Varianten trifft man keine Schwierigkeiten, wenn man im Vorschau die Einstellungen mit der Hand eingibt. Aber was zu machen, wenn man das automatisieren soll. Ganau, mit Hilfe des Codes?

Darum geht’s in diesem Artikel.

Fast alle Cloud-Services (ausgenommen FastCloud) verwenden den Autorisations-Typ OAuth. Dieses Protokoll ermöglicht, der Anwendung ohne Verwendung von reellen Login und Passwort einen Zugang zum Cloud-Service zu geben. Die Zugangsrechte können auch in diesem Fall beschränkt werden. Die Anwendung bekommt eine Identifikationsnummer und einen Secret-Schlüssel, die weiter bei der Autorisation verwendet werden können. 

Um den Identifikationswort und den Secret-Schlüssel zu bekommen, brauchen Sie eine Anwendung zu erstellen und sie auf dem OAuth-Server Ihres Clouds Services zu registrieren.  

Auf diese Weise brauchen wir mindestens zwei Parameter fürs Berichts Speichern ins Cloud-Service. Und ein bisschen deutlicher.

1)      Fürs Service Box:

Zuerst die Bibliothek FastReport hinzufügen:

using FastReport;

Wir erstellen weiter ein Exemplar der Classe ClientInfo, die Informationen für Autorisation enthält.

1
2
FastReport.Cloud.StorageClient.SkyDrive.ClientInfo clientInfo = 
new FastReport.Cloud.StorageClient.SkyDrive.ClientInfo("ClientName", "ClientId", "ClientSecret");

ClientInfo hat drei Parameter: ClientName, ClientId und ClientSecret. In unserem Fall brauchen wir ClientId und ClientSecret. Weiter erstellen wir einen GoogleDrive Client furs Berichts Speichern:

1
2
FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient client = 
new FastReport.Cloud.StorageClient.GoogleDrive.GoogleDriveStorageClient(clientInfo);

Wir erstellen ein Berichts Exemplar und laden dorthin den Bericht herunter:

1
2
Report report = new Report();
report.Load(@"C:\Program Files (x86)\FastReports\FastReport.Net\Demos\Reports\Text.frx");

Wenn es notwendig ist, den Bericht in einem anderen Format als fpx (das Format für die Vorschau-Regime) zu speichern, dann braucht man ein Exports-Exemplar zu machen:

1
 FastReport.Export.Pdf.PDFExport pdf = new FastReport.Export.Pdf.PDFExport();

 Starten wir das Speichern des Berichts:

1
client.SaveReport(report, pdf);

Если вы сохраняете отчет в формате fpx, вместо второго параметра можно передать null Fürs Speichern des Berichts in fpx-Format braucht man den zweiten Parameter als null einzusetzen:

1
 client.SaveReport(report, null);

 2)  Für DropBox sieht alles ein bisschen anderes aus. In Rahmen von OAuth verwendet man nur access token. Dieser ist ein Zugangsschlüssel, der nach der erfolgsreichen Autorisation generiert wurde. Nach der Übergabe dieser Token-Datei herstellen wir vorherige Autorisation wieder. Wir erstellen einen Client für Dropbox und senden an ihn access token im Text-Format:

1
2
FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient drop = 
new FastReport.Cloud.StorageClient.Dropbox.DropboxStorageClient("accessToken");

Proxy Einstellungen:

1
2
3
4
5
drop.ProxySettings.Server = "";
drop.ProxySettings.Port = 999; 
drop.ProxySettings.ProxyType = FastReport.Cloud.ProxyType.Http;
drop.ProxySettings.Username = "Username";
drop.ProxySettings.Password = "Password";

Weiter, wie im vorigen Beispiel:

1
2
 Report report = new Report();
 report.Load(@"C:\Program Files (x86)\FastReports\FastReport.Net\Demos\Reports\Text.frx");

 Bericht speichern:

1
 drop.SaveReport(report, null);

 3)  Für GoogleDrive:

1
2
3
FastReport.Cloud.StorageClient.SkyDrive.ClientInfo clientInfo = 
new FastReport.Cloud.StorageClient.SkyDrive.ClientInfo("ClientName", "ClientId", "ClientSecret");
GoogleDriveStorageClient client = new GoogleDriveStorageClient(clientInfo);

Proxy Einstellungen, beim Bedarf:

1
2
3
4
5
 client.ProxySettings.Server = "";
 client.ProxySettings.Port = 999; 
 client.ProxySettings.ProxyType = FastReport.Cloud.ProxyType.Http;
 client.ProxySettings.Username = "Username";
 client.ProxySettings.Password = "Password";

Bericht erstellen:

1
2
Report report = new Report();
report.Load(@"C:\Program Files (x86)\FastReports\FastReport.Net\Demos\Reports\Text.frx");

Export erstellen:

1
FastReport.Export.Pdf.PDFExport pdf = new FastReport.Export.Pdf.PDFExport();

Bericht speichern:                    

1
client.SaveReport(report, pdf);

 4)  Für OneDrive:

1
2
3
4
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);

Auch Proxy Einstellungen:         

1
2
3
4
5
one.ProxySettings.Server = "";
 one.ProxySettings.Port = 999; 
 one.ProxySettings.ProxyType = FastReport.Cloud.ProxyType.Http;
 one.ProxySettings.Username = "Username";
 one.ProxySettings.Password = "Password";

Bericht erstellen:

1
2
3
Report report = new Report();
report.Load(@"C:\Program Files (x86)\FastReports\FastReport.Net\Demos\Reports\Text.frx");
one.SaveReport(report, null);

 5) Für FastCloud gibt es auch einen Unterschied. Hier verwendet man kein Protokoll OAuth. Autorisation führt man mit der Postadresse und mit dem Passwort. Wir erstellen auch einen Client FastCloud:

1
2
FastReport.Cloud.StorageClient.FastCloud.FastCloudStorageClient fast = 
new FastReport.Cloud.StorageClient.FastCloud.FastCloudStorageClient();

Wir erstellen token mit Hilfe von Methode GetAccessToken:

1
fast.AccessToken = fast.GetAccessToken("email@mail.com", "password");

 Weiter ein Exports-Exemplar erstellen:

1
2
3
4
5
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)  Den Bericht in Jabber(XMPP) senden. Vorher erstellen wir einen xmpp Client:

1
2
FastReport.Messaging.Xmpp.XmppMessenger messenger = 
new FastReport.Messaging.Xmpp.XmppMessenger("user@xmpp.jp", "password", "user@xmpp.jp");

 Proxy Einstellungen:

1
2
3
4
5
messenger.ProxySettings.Server = "server";
messenger.ProxySettings.Port = 999;
messenger.ProxySettings.ProxyType = FastReport.Cloud.ProxyType.Http;
messenger.ProxySettings.Username = "username";
messenger.ProxySettings.Password = "password";

 Und ein Bericht-Exemplar erstellen:

1
2
Report report = new Report();
report.Load(@"С:\Program Files (x86)\FastReports\FastReport.Net\Demos\Reports\Text.frx");

 Und es an xmpp Client senden:

1
messenger.SendReport(report, null);

Nach dem Durchführen dieses Codes senden wir den Bericht in den Cloud Service FastCloud und die Nachricht mit dem Link auf den Bericht an jabber-User. Der Link in xmpp-Client sieht so aus:

https://cloud.fast-report.com/reports/3da0fcd3f76ac1f6d87c21df85f5d5e2

.NET .NET FastReport FastReport Web Storage Web Storage
26. Oktober 2026

Fortschrittsbalken in Delphi: Die Komponenten „TfrProgressBar“ und „TfrxProgressBar“ aus FastReport VCL

Schauen wir uns die Komponenten TfrProgressBar und TfrxProgressBar aus FastReport VCL einmal genauer an: Konfiguration der Fortschrittsskala, Schwellenwerte und Markierungen, Datenbindung sowie ein Delphi-Beispiel.
26. Oktober 2026

TfrImageComboBox: Eine Dropdown-Liste mit Bildern und Textbeschriftungen in FastReport VCL

TfrImageComboBox aus der FastEditors VCL: eine Dropdown-Liste mit Symbolen und Beschriftungen für die FastReport VCL. Eigenschaften, Ereignisse und Anwendungsbeispiele in Delphi.
23. Oktober 2026

FastGrid von innen: Das View-Objekt, Spalten und Ereignisse der Delphi-Grid-Komponente

Interner Aufbau von FastGrid: das View-Objekt, die Eigenschaft „Appearance“, Spalten, Ereignisse sowie die Datenverarbeitungsmodi „DB“ und „Unbound“ in Delphi. Erläuterung am Beispiel des Demo-Projekts „GridDemo.dpr“.

© 1998-2026 Fast Reports Inc.