Telerik Forums
Reporting Forum
7 answers
2.1K+ views
I am trying to figure out how to render an excel report into the Office 2007 format but I keep getting errors that the report extension is corrupt.

What do I need to change here:

I have tried setting the filname to xlsx and the reponse content type to application/vnd.openxmlformats-officedocument.spreadsheetml.sheet with no luck.

Dim reportProcessor As New Telerik.Reporting.Processing.ReportProcessor()
Dim result As Telerik.Reporting.Processing.RenderingResult = reportProcessor.RenderReport("XLS", myReport, Nothing)
Dim fileName As String = result.DocumentName + ".xls"
    Response.Clear()
    Response.ContentType = "Application/XLS"
    Response.Cache.SetCacheability(HttpCacheability.Private)
    Response.Expires = -1
    Response.Buffer = False
    Response.AddHeader("Content-Disposition", String.Format("{0};FileName=""{1}""", "attachment", fileName))
    Response.OutputStream.Write(result.DocumentBytes, 0, result.DocumentBytes.Length)
    Response.End()

Stef
Telerik team
 answered on 17 Oct 2014
1 answer
171 views
I've implemented the report viewer in my MVC application and everything works well. I'm wondering if it's possible to store our Telerik reports outside of the web application, on a shared drive for example, so that we can keep the report files created in Report Designer separate from the web application. Is there any way to point that Uri to a mapped network drive maybe?

This is the current code, but I would like to be able to have @Model.ReportSource be a path to an external path.

@(Html.TelerikReporting().ReportViewer()
       .Id("reportViewer1")
       .ServiceUrl("/api/reports/")
       .TemplateUrl("/Content/ReportViewer/templates/telerikReportViewerTemplate-8.1.14.804.html")
       .ReportSource(new UriReportSource() { Uri = @Model.ReportSource })
       .ViewMode(ViewModes.INTERACTIVE)
       .ScaleMode(ScaleModes.SPECIFIC)
       .Scale(1.0)
       .PersistSession(false)
)
Jan
Top achievements
Rank 1
 answered on 15 Oct 2014
1 answer
922 views
Hi Guys,

I'm new to reporting and there is a requirement to display an image in my report and I'm using a picture box for this. 

Problem I have is I want to display this image only when it is available. From my dataset I'm returning the image path(this will always return a path if image is present or not) and a boolean value indicating if the image is present. 

So I tried adding an conditional formatting rule to picture box defining layout should not be visible when the Field.ImageAvailable property is false. But when I render the report, it displays image not found error.

So have I missed anything or is there any other way to handle this?

Thanks in advance!!
Hinata
Top achievements
Rank 1
 answered on 15 Oct 2014
2 answers
806 views
Can someone give me instructions on how to do a page break?  I see other posts referring to PageBreak.Before, After, and none but I can't find anything in the standalone report designer Q2 2014.

I have one group that I would like a page break before the header when the 2nd grouping begins to show.

Any help would be appreciated. 
Hinata
Top achievements
Rank 1
 answered on 15 Oct 2014
1 answer
323 views
I'm working on the HTML5 Telerik Report Viewer and I'm running into issues with my parameterized datasource. In the report I have a stored procedure that takes a parameter that is bound to a report parameter. This works perfectly in the report designer; however, when I view the report through the HTML5 viewer, I get the following error:

An error has occurred while processing Graph 'stkdChart': Procedure or function 'rptSproc' expects parameter '@TargetDate', which was not supplied.

However, I am passing the report parameter TargetDate with the report. I can see the report parameter in a text box. I'm assuming that the stored procedure's parameter isn't linked to the report parameter from the HTML viewer for some reason.  I'm setting up my report parameters like so

$('#reportViewer1').telerik_ReportViewer({
    serviceUrl: siteRoot + "api/Reports/",
    templateUrl: siteRoot + "ReportViewer/templates/telerikReportViewerTemplate-8.1.14.804.html",
    reportSource: {
        report: "Snapshot.trdx", "parameters": {
            TargetDate: "\/Date(1413224249612)\/"
        }
    },
    viewMode: "INTERACTIVE",
    scaleMode: "SPECIFIC",
    scale: 1,
    persistSession: false,
    printMode: "AUTO_SELECT"
});

So, could someone point to a way to bind the stored procedure's parameter to the report parameter with the HTML5 viewer? Do I need a custom Resolver, instead of the default ReportFileResolver?
Stef
Telerik team
 answered on 14 Oct 2014
2 answers
86 views
Hi, I have create a function

        public static double CallAge(string _status, string _sDate, string _eDate, string _last_update, string _report_datetime, string _total_holiday, string _total_hour)
        {
            if (_status == "6" || _status == "5" || _status == "4")
            {
                double Dys = 0, SatDys = 0, SunDys = 0;
                DateTime d1, d2, dateLastUpdate;
                TimeSpan timesp;
                d2 = Convert.ToDateTime(_eDate);
                d1 = Convert.ToDateTime(_report_datetime);
                dateLastUpdate = Convert.ToDateTime(_last_update);
                if (d2 < dateLastUpdate)
                {
                    timesp = (d2 - d1);
                    Dys = timesp.Seconds;
                    SatDys = findWeekCount(d1, d2, DayOfWeek.Saturday);
                    SunDys = findWeekCount(d1, d2, DayOfWeek.Sunday);
                    if (Dys > 0)
                    {
                        Dys = Dys - (checkHoliday(_total_holiday) + SatDys + SunDys) * 86400;
                        Dys = Dys - (timesp.Days - SatDys - SunDys - checkHoliday(_total_holiday) * Convert.ToDouble(_total_hour));
                        Math.Abs(Dys);
                        return Dys;
                    }
                    else
                    {
                        return 0;
                    }
                }
                else
                {
                    d2 = Convert.ToDateTime(_last_update);
                    d1 = Convert.ToDateTime(_report_datetime);
                    timesp = (d2 - d1);
                    Dys = timesp.Seconds;
                    SatDys = findWeekCount(d1, d2, DayOfWeek.Saturday);
                    SunDys = findWeekCount(d1, d2, DayOfWeek.Sunday);
                    if (Dys > 0)
                    {
                        Dys = ((checkHoliday(_total_holiday) + SatDys + SunDys) * 86400) - Dys;
                        Dys = Dys - ((timesp.Days - SatDys - SunDys - checkHoliday(_total_holiday) * Convert.ToDouble(_total_hour)));
                        Math.Abs(Dys);
                        return Dys;
                    }
                    else
                    {
                        return 0;
                    }
                }
            }
            else
            {
                return 0;
            }
        }


How to get field from store procedure?
I try like this on Expression Editor :

=TicketAge(Fields.STATUS,Parameters.sDate.Value,Parameters.eDate.Value,Fields.LAST_UPDATE,Fields.REPORT_DATETIME,Fields.TOTAL_HOLIDAY,Fields.TOTAL_HOUR)

But it display error : An error has occurred while processing TextBox 'textBox25': The expression contains undefined function call TicketAge().






Mashran
Top achievements
Rank 1
 answered on 14 Oct 2014
5 answers
173 views
Hi
  I am not use Telerik Reporting in website,but it show error like this why ?
Could not load file or assembly 'Telerik.Reporting, Version=8.1.14.618, Culture=neutral, PublicKeyToken=a9d7983dfcc261be' or one of its dependencies. The system cannot find the file specified.

I am use telerik controls in asp.net expect Report,then why this show?

Note: I all website this show error,after my laptop restart automatically.i am use windows 8.

Regards
  Aravind
KS
Top achievements
Rank 1
 answered on 13 Oct 2014
4 answers
104 views
Hi,

we have a problem with the localization of reports.
It works fine when we use the Silverlight ReportViewer. Then we can set the current culture and the report is displayed in that language.
(System.Threading.Thread.CurrentThread.CurrentCulture = cultureInfo)

Now we want to use the report engine directly to generate an pdf document.
So we use:
var serviceClient = new ReportServiceClient(new Uri(App.Current.Host.Source, "../Reports/ReportService.svc"));
               serviceClient.RenderAsync("PDF",
                   PROP_ReportViewer_MCred,
                   deviceInfo,
                   parameters);
               serviceClient.RenderCompleted += new EventHandler<RenderEventArgs>(serviceClient_RenderCompleted);
with that the current culture settings are ignored and the report is always in the default language.
What is the way to go here?
Btw. we are using Report Q2 2012 because of SL4.

Kind regards
Juergen
Top achievements
Rank 1
 answered on 13 Oct 2014
1 answer
225 views
Hi, 

I have a subreport where I need to draw 6 records in the detail section. Always 6 records, not more, not less. If there are no records, I need to draw  6 empty spaces. Or if I have 4 record, I need to draw 4 records and 2 empty spaces.

I limit the maximun number of row to six by setting SELECT TOP 6...

Is there any propperty or method in order to draw in the detail the minimun number of rows needed?

Thanks in advance. Best regards, 
Hinata
Top achievements
Rank 1
 answered on 13 Oct 2014
1 answer
369 views
Below is the sample code (I’M generating reports programmatically
from JSON data)



public static void Export(Telerik.Reporting.ReportBook reportToExport, string type, string cType)

        {

 

            var reportProcessor = new
Telerik.Reporting.Processing.ReportProcessor();

           

            var instanceReportSource = new
Telerik.Reporting.InstanceReportSource();

            instanceReportSource.ReportDocument
= reportToExport;

           

           

              

            if (type.ToLower().Equals("print"))

            {

                 //
Obtain the settings of the default printer.

                PrinterSettings printerSettings
= new
PrinterSettings();

 

                //printerSettings.PrinterName
= " HP Deskjet 3510 series";

                //
Print the report using the printer settings.

               
reportProcessor.PrintReport(reportToExport, printerSettings);

            }

            else

            {

               
Telerik.Reporting.Processing.RenderingResult result =
reportProcessor.RenderReport(type,

                    instanceReportSource, null);

 

 

 

 

                string fileName = "Viewr_" + cType + "_report." + result.Extension;

 

                HttpContext.Current.Response.Clear();

               
HttpContext.Current.Response.ContentType = result.MimeType;

               
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.Private);

                HttpContext.Current.Response.Expires
= -1;

               
HttpContext.Current.Response.Buffer = true;

               
HttpContext.Current.Response.AddHeader("Content-Disposition",

                                 string.Format("{0};FileName=\"{1}\"",

                                               "attachment",

                                              
fileName));

               
HttpContext.Current.Response.BinaryWrite(result.DocumentBytes);

               
HttpContext.Current.Response.End();

            }

          

          

 

              

           

           

        }
Stef
Telerik team
 answered on 10 Oct 2014
Top users last month
Simon
Top achievements
Rank 2
Iron
Iron
Bob
Top achievements
Rank 3
Iron
Iron
Veteran
Marco
Top achievements
Rank 4
Iron
Iron
Iron
Grant
Top achievements
Rank 3
Iron
Iron
Iron
Kao Hung
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?