Wie Exportiere ich direkt in ein word-Dokument im Berichts-viewer
Ich habe einen Bericht erstellt mit einigen Daten. Ich will nicht den Benutzer klicken müssen, um Formulare auf die Schaltfläche "exportieren" und exportieren Sie die Daten in ein word-Dokument. Die Datei speichert fine das problem ist, wenn ich gehen, um das Dokument zu öffnen in word nur ein Haufen Müll, anstatt den Bericht speichern sollen.
mein speichern-button sieht wie folgt aus:
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.InitialDirectory = @“C:\”;
saveFileDialog.RestoreDirectory = true;
savefileDialog.Title = “Browse Text Files”;
saveFileDialog.DefaultExt = “docx”;
saveFileDialog.Filter = “Word Doc (*.docx)|*.docx|PDF (*.pdf)| *.pdf”;
saveFileDialog.checkFileExists = false;
saveFileDialog.CheckPathExists = true;
Warning[] warnings;
string[] streams;
string mimeType;
string encoding;
string extension;
byte[] bytes = reportViewer1.LocalReport.Render(“Word”, null, out mimeType, out encoding, out extension, out streams, out warnings);
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
var filename = saveFileDialog.FileName;
System.IO.FileStream file = new FileStream(filename, FileMode.Create);
file.Write(bytes, 0, bytes.length);
file.close();
}
Irgendwelche Vorschläge?
was "die Dinge sind nicht definiert"? können Sie das konkret?
Ignorieren Sie nicht Ihre Fehler. Blick auf was er sagt, ist nicht definiert. Er versucht zu helfen...
DropDownList1, httpContext.Aktuelle.Antwort.BinaryWrite(bytes) sind nicht definiert
Ignorieren Sie nicht Ihre Fehler. Blick auf was er sagt, ist nicht definiert. Er versucht zu helfen...
DropDownList1, httpContext.Aktuelle.Antwort.BinaryWrite(bytes) sind nicht definiert
InformationsquelleAutor Robert | 2012-08-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den LocalReport.Rendern für Word exportiert nur den älteren Word-format (version 6, glaube ich). Die neuere, offene Formate basieren auf XML (docx-Erweiterung) werden nicht unterstützt. Also durch eine docx-Erweiterung, Wort erwartet das neuere format, nicht der alte, so interpretiert er alles als Müll. Als ein beiseite, ändern Sie die docx-Erweiterung auf ein Word-Dokument in .zip, extrahieren Sie den Inhalt und habe einen Sack um die resultierende Ordner. Es ist ganz interessant, was ist nun sichtbar.
InformationsquelleAutor Anthony K
Ich weiß, das ist alt und schon beantwortet (eine Art), aber ich habe stolperte über dieses problem, und Sie müssen verwenden "WORDOPENXML" anstelle von "Wort" in das Render-Aufruf. Auf diese Weise wird es den export in docx,.
Verwenden ListRenderingExtensions um zu sehen, welche Erweiterungen verfügbar sind.
InformationsquelleAutor Edgar
So, nachdem eine Menge Arbeit auf diese Sache, die ich gefunden, dass durch ändern der Zeile:
zu
behebt mein problem. Aus welchem Grund auch immer speichern .docx-Datei beschädigt die Daten.
InformationsquelleAutor Robert