Hi to all,
I'm trying to create a solution console that it has generate a DOCX file from my report.
I'm using this code, but on row 34 it gives me an error "DOCX rendering format is not available."
I have already add these dll:
- DocumentFormat.OpenXml
- Telerik.Reporting
- Telerik.Reporting.OpenXmlRendering
01.
public
class
ReportHelper
02.
{
03.
public
static
Bundle SaveAsWord(
string
fileName, Bundle pBundle)
04.
{
05.
Bundle bundle =
new
Bundle();
06.
07.
try
08.
{
09.
//Create new CultureInfo
10.
var cultureInfo =
new
System.Globalization.CultureInfo(pBundle.Get(2).ToString());
11.
12.
// Set the language for static text (i.e. column headings, titles)
13.
System.Threading.Thread.CurrentThread.CurrentUICulture = cultureInfo;
14.
15.
// Set the language for dynamic text (i.e. date, time, money)
16.
System.Threading.Thread.CurrentThread.CurrentCulture = cultureInfo;
17.
18.
Telerik.Reporting.Processing.ReportProcessor reportProcessor =
new
Telerik.Reporting.Processing.ReportProcessor();
19.
20.
// set any deviceInfo settings if necessary
21.
System.Collections.Hashtable deviceInfo =
new
System.Collections.Hashtable();
22.
23.
24.
Telerik.Reporting.TypeReportSource typeReportSource =
new
Telerik.Reporting.TypeReportSource();
25.
26.
// reportName is the Assembly Qualified Name of the report
27.
typeReportSource.TypeName =
"MyReportName"
;
28.
typeReportSource.Parameters.Add(
"Par1"
, pBundle.Get(1).ToString());
29.
typeReportSource.Parameters.Add(
"Par2"
, pBundle.Get(3).ToString());
30.
typeReportSource.Parameters.Add(
"Par3"
, pBundle.Get(4).ToString());
31.
typeReportSource.Parameters.Add(
"Par4"
, pBundle.Get(5).ToString());
32.
typeReportSource.Parameters.Add(
"Par5"
, pBundle.Get(6).ToString());
33.
34.
Telerik.Reporting.Processing.RenderingResult result = reportProcessor.RenderReport(
"DOCX"
, typeReportSource, deviceInfo);
35.
36.
//string fileName = result.DocumentName + "." + result.Extension;
37.
string
path = System.IO.Path.GetTempPath();
38.
string
filePath = System.IO.Path.Combine(path, fileName);
39.
40.
using
(System.IO.FileStream fs =
new
System.IO.FileStream(filePath, System.IO.FileMode.Create))
41.
{
42.
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
43.
}
44.
45.
bundle.Add(1,
true
);
46.
bundle.Add(2, filePath);
47.
}
48.
catch
(Exception ex)
49.
{
50.
bundle.Add(1,
false
);
51.
bundle.Add(2, ex.Message);
52.
bundle.Add(3, ex.StackTrace.ToString());
53.
}
54.
55.
return
bundle;
56.
}
57.
}