Something like Crystal Reports has an export to Word capability but the resulting document is formatted using frames and is very difficult to edit. There is a product built onto SQL Reporting Services (OfficeWriter by SoftArtisans) that creates a 'proper' Word document that you can edit as if you had created it in Word yourself.
What I'm interested in finding out is whether the plans for export to Word in Telerik Reporting would produce a document fomatted using frames or one that would be a 'proper' Word document?
Are your plans this far advanced to be able to provide an answer?
Thanks for your help.
13 Answers, 1 is accepted
With the upcoming release we will add the Excel to the list of available report export formats. You can export a report in Excel 97-2003 compatible format without the need of Microsoft Office package.
Although, we have plans to provide export to Word in the future it would be very interesting to hear your opinion whether you can use Excel instead of Word and if not - why. We highly appreciate our clients' feedback and it definitely weights when we are planing the next versions.
There are many reasons why we choose the Excel instead of Word. An important one is that Excel is data oriented and you can play with the report data using its powerful functions.
I am looking forward to hearing from you.
Best wishes,
Svetoslav
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
Thanks.
We do not have plans for export to .doc format in our current plans and also can you clarify which kind you are referring to - the binary (aka MS Word 97), the XML (MS Word 2003) or the latest Office Open XML (MS Word 2007)? The last one has already been covered since Q3 2009 with the introduction of native Silverlight viewer i.e. export to XPS.
Anyway we believe the RTF format offers everything we need to display a report, can be edited in all MS Word versions and in contrast to the binary MS Word formats it is open (there is a publicly available specification). We will appreciate if you share with us why do you prefer the DOC format over the RTF (since both can be edited with MS Word; moreover the RTF is supported by a number of non-Windows applications).
If you find only the editing of the document as being the hard part, then you can force the RTF to use Tables instead of frames. Please use the code snippet below in your application config file - note that it has a RenderingMode attribute specified in it which forces the RTF rendering extension to use Tables.
<
configuration
>
<
configSections
>
<
section
name
=
"Telerik.Reporting"
type
=
"Telerik.Reporting.Processing.Config.ReportingConfigurationSection, Telerik.Reporting, Version=3.2.9.1211, Culture=neutral, PublicKeyToken=a9d7983dfcc261be"
allowLocation
=
"true"
allowDefinition
=
"Everywhere"
/>
</
configSections
>
<
Telerik.Reporting
>
<
Extensions
>
<
Render
>
<
Extension
name
=
"RTF"
>
<
Parameters
>
<
Parameter
name
=
"RenderingMode"
value
=
"Tables"
/>
</
Parameters
>
</
Extension
>
</
Render
>
</
Extensions
>
</
Telerik.Reporting
>
</
configuration
>
Kind regards,
Steve
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.Parser Error Message: An error occurred creating the configuration section handler for Telerik.Reporting: Could not load type 'Telerik.Reporting.Processing.Config.ReportingConfigurationSection' from assembly 'Telerik.Reporting, Version=3.0.9.430, Culture=neutral, PublicKeyToken=a9d7983dfcc261be'.
Source Error:
Line 11: <configSections>
Line 12:
Line 13: <section name="Telerik.Reporting" type="Telerik.Reporting.Processing.Config.ReportingConfigurationSection, Telerik.Reporting, Version=3.0.9.430, Culture=neutral, PublicKeyToken=a9d7983dfcc261be" allowLocation="true" allowDefinition="Everywhere" />
Line 14:
Line 15: <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
|
Source File: C:\Inetpub\WebSites\PracticeHawkPro\web.config Line: 13
<?xml version="1.0"?> |
<configuration> |
<configSections> |
<section name="Telerik.Reporting" type="Telerik.Reporting.Processing.Config.ReportingConfigurationSection, Telerik.Reporting, Version=3.0.9.430, Culture=neutral, PublicKeyToken=a9d7983dfcc261be" allowLocation="true" allowDefinition="Everywhere" /> |
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> |
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> |
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> |
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> |
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/> |
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> |
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> |
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> |
</sectionGroup> |
</sectionGroup> |
</sectionGroup> |
</configSections> |
<Telerik.Reporting> |
<Extensions> |
<Render> |
<Extension name="RTF"> |
<Parameters> |
<Parameter name="RenderingMode" value="Tables" /> |
</Parameters> |
</Extension> |
</Render> |
</Extensions> |
</Telerik.Reporting> |
<appSettings> |
<add key="usaepay.usaepay" value="https://www.usaepay.com/soap/gate/131C979E"/> |
<add key="CrystalImageCleaner-AutoStart" value="true"/> |
<add key="CrystalImageCleaner-Sleep" value="60000"/> |
<add key="CrystalImageCleaner-Age" value="120000"/> |
<add key="MembershipConnectionStringName" value="PracticeHawk"/> |
</appSettings> |
<connectionStrings> |
<clear/> |
<add name="PracticeHawk" connectionString="Initial Catalog=PracticeHawk;data source=localhost;Integrated Security=SSPI;"/> |
<add name="PracticeHawkConnectionString" connectionString="Data Source=98.190.128.60;Initial Catalog=PracticeHawk;Integrated Security=SSPI" providerName="System.Data.SqlClient"/> |
<add name="PracticeHawkConnectionString1" connectionString="Data Source=98.190.128.60;Initial Catalog=PracticeHawk;Integrated Security=True" providerName="System.Data.SqlClient"/> |
<add name="LocalSqlServer" connectionString="Initial Catalog=PracticeHawk;data source=localhost;Integrated Security=SSPI;"/> |
</connectionStrings> |
<system.web> |
<profile defaultProvider="PracticeHawkProvider"> |
<providers> |
<clear/> |
<add name="PracticeHawkProvider" connectionStringName="PracticeHawk" applicationName="PracticeHawk" type="System.Web.Profile.SqlProfileProvider" description="SqlProfileProvider for PracticeHawk Application"/> |
</providers> |
<properties> |
<add name="EPayCustNum"/> |
</properties> |
</profile> |
<compilation debug="true" strict="false" explicit="true"> |
<assemblies> |
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> |
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> |
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> |
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> |
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> |
<add assembly="System.Drawing.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/> |
<add assembly="Telerik.Reporting, Version=3.0.9.430, Culture=neutral, PublicKeyToken=a9d7983dfcc261be"/> |
<add assembly="Telerik.Reporting.Processing, Version=3.0.9.430, Culture=neutral, PublicKeyToken=a9d7983dfcc261be"/> |
<add assembly="Telerik.Reporting.HtmlEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=a9d7983dfcc261be"/> |
<add assembly="Telerik.ReportViewer.WebForms, Version=3.0.9.430, Culture=neutral, PublicKeyToken=a9d7983dfcc261be"/> |
<add assembly="Telerik.Reporting.Interfaces, Version=3.0.9.430, Culture=neutral, PublicKeyToken=a9d7983dfcc261be"/> |
</assemblies> |
</compilation> |
<pages> |
<namespaces> |
<clear/> |
<add namespace="System"/> |
<add namespace="System.Collections"/> |
<add namespace="System.Collections.Generic"/> |
<add namespace="System.Collections.Specialized"/> |
<add namespace="System.Configuration"/> |
<add namespace="System.Text"/> |
<add namespace="System.Text.RegularExpressions"/> |
<add namespace="System.Linq"/> |
<add namespace="System.Xml.Linq"/> |
<add namespace="System.Web"/> |
<add namespace="System.Web.Caching"/> |
<add namespace="System.Web.SessionState"/> |
<add namespace="System.Web.Security"/> |
<add namespace="System.Web.Profile"/> |
<add namespace="System.Web.UI"/> |
<add namespace="System.Web.UI.WebControls"/> |
<add namespace="System.Web.UI.WebControls.WebParts"/> |
<add namespace="System.Web.UI.HtmlControls"/> |
<add namespace="Hero.Common"/> |
<add namespace="Hero.Membership"/> |
<add namespace="System.Data"/> |
<add namespace="System.Data.SqlClient"/> |
</namespaces> |
<controls> |
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add tagPrefix="act" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit, Version=3.0.20229.20843, Culture=neutral, PublicKeyToken=28F01B0E84B6D53E"/> |
<add tagPrefix="hc" namespace="Hero.Common.Controls" assembly="App_Code"/> |
<add tagPrefix="hc" namespace="Hero.Membership.Controls" assembly="App_Code"/> |
</controls> |
</pages> |
<authentication mode="Forms"> |
<forms name="SqlAuthCookie" timeout="720" protection="All" loginUrl="Login.aspx" defaultUrl="Default.aspx"/> |
</authentication> |
<authorization> |
<allow users="*"/> |
</authorization> |
<membership defaultProvider="PracticeHawkProvider"> |
<providers> |
<clear/> |
<add name="PracticeHawkProvider" connectionStringName="PracticeHawk" applicationName="PracticeHawk" minRequiredPasswordLength="8" minRequiredNonalphanumericCharacters="1" type="System.web.Security.SqlMembershipProvider, System.web, version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> |
</providers> |
</membership> |
<customErrors mode="Off" defaultRedirect="GenericErrorPage.htm"> |
<error statusCode="403" redirect="NoAccess.htm"/> |
<error statusCode="404" redirect="FileNotFound.htm"/> |
</customErrors> |
<httpHandlers> |
<remove path="*.asmx" verb="*"/> |
<add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/> |
<add path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/> |
<add path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/> |
<add path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource" validate="false"/> |
<add path="Telerik.ReportViewer.axd" verb="*" type="Telerik.ReportViewer.WebForms.HttpHandler, Telerik.ReportViewer.WebForms, Version=3.0.9.430, Culture=neutral, PublicKeyToken=a9d7983dfcc261be" validate="true"/> |
</httpHandlers> |
<httpModules> |
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
</httpModules> |
<roleManager defaultProvider="PracticeHawkRoleProvider" enabled="true" cacheRolesInCookie="true"> |
<providers> |
<add name="PracticeHawkRoleProvider" connectionStringName="PracticeHawk" applicationName="PracticeHawk" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> |
<add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> |
</providers> |
</roleManager> |
<siteMap> |
<providers> |
<add name="Links" siteMapFile="~/Layouts/Links.sitemap" securityTrimmingEnabled="true" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> |
<add name="Tabs" siteMapFile="~/Layouts/Tabs.sitemap" securityTrimmingEnabled="true" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> |
<add name="AdminTabs" siteMapFile="~/Admin/Tabs.sitemap" securityTrimmingEnabled="true" type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> |
</providers> |
</siteMap> |
</system.web> |
<location path="Secure"> |
<system.web> |
<authorization> |
<deny users="?"/> |
<allow users="*"/> |
</authorization> |
</system.web> |
</location> |
<location path="Secure/ApplicationAdmin"> |
<system.web> |
<authorization> |
<allow roles="ApplicationAdmin"/> |
<deny users="*"/> |
</authorization> |
</system.web> |
</location> |
<location path="Secure/ClientAdmin"> |
<system.web> |
<authorization> |
<allow roles="ClientAdmin"/> |
<deny users="*"/> |
</authorization> |
</system.web> |
</location> |
<location path="Secure/ClientStaff"> |
<system.web> |
<authorization> |
<allow roles="ClientStaff"/> |
<deny users="*"/> |
</authorization> |
</system.web> |
</location> |
<system.codedom> |
<compilers> |
<compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<providerOption name="CompilerVersion" value="v3.5"/> |
<providerOption name="WarnAsError" value="false"/> |
</compiler> |
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> |
<providerOption name="CompilerVersion" value="v3.5"/> |
<providerOption name="OptionInfer" value="true"/> |
<providerOption name="WarnAsError" value="false"/> |
</compiler> |
</compilers> |
</system.codedom> |
<system.webServer> |
<validation validateIntegratedModeConfiguration="false"/> |
<modules> |
<remove name="ScriptModule"/> |
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
</modules> |
<handlers> |
<remove name="WebServiceHandlerFactory-Integrated"/> |
<remove name="ScriptHandlerFactory"/> |
<remove name="ScriptHandlerFactoryAppServices"/> |
<remove name="ScriptResource"/> |
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> |
<add name="Telerik_Web_UI_WebResource_axd" verb="*" preCondition="integratedMode" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource"/> |
<add name="Telerik.ReportViewer.axd_*" path="Telerik.ReportViewer.axd" verb="*" type="Telerik.ReportViewer.WebForms.HttpHandler, Telerik.ReportViewer.WebForms, Version=3.0.9.430, Culture=neutral, PublicKeyToken=a9d7983dfcc261be" preCondition="integratedMode,runtimeVersionv2.0"/> |
</handlers> |
</system.webServer> |
<runtime> |
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> |
<dependentAssembly> |
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/> |
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/> |
</dependentAssembly> |
<dependentAssembly> |
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/> |
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/> |
</dependentAssembly> |
</assemblyBinding> |
</runtime> |
</configuration> |
You're clearly using version Q1 2009 and there is still a Telerik.Reporting.Processing assembly in it (in Q2 we have merged the processing assembly in Telerik.Reporting. So you should either upgrade to the latest version and the code I provided would work properly for you, or you should change the Telerik Reporting configuration section like so:
<
section
name
=
"Telerik.Reporting"
type
=
"Telerik.Reporting.Processing.Config.ReportingConfigurationSection, Telerik.Reporting.Processing, Version=3.0.9.430, Culture=neutral, PublicKeyToken=a9d7983dfcc261be"
allowLocation
=
"true"
allowDefinition
=
"Everywhere"
/>
Kind regards,
Steve
the Telerik team
Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
This is a quick follow up to let you know that in Q1 2011 we've added new export formats based on Office Open XML standards available in Microsoft Office 2007 and above:
- Excel Worksheet (.xlsx)
- Word Document (.docx)
- PowerPoint Presentation (.pptx)
All the best,
Steve
the Telerik team
However. I am still not really satisfied with the results I have achieved. Is it possible to get rid of any 'containers' (tables, layers, text fields) from a docx file, so it looks like human-made one? Just pure, formatted text and static tables inside.
Regards
Mikolaj
This behavior is by design and is required in order to preserve the layout of the report. If we create the docx file with editing in mind, then the layout of the report would not be preserved and we aim for WYSIWYG.
We understand your concern of having a fully editable file for your users, but due to the fore-mentioned requirement, this is not applicable with the current implementation.
Rest assured however, that we have this scenario in mind and would consider allowing soft pagination i.e. letting Word take care of the pagination for subsequent version of the product. This would allow the row height property to be "Atleast", instead of Exactly, which would make the file much more user friendly.
Regards,
Steve
the Telerik team
Q3’11 of Telerik Reporting is available for download. Register for the What's New in Data Tools webinar to see what's new and get a chance to WIN A FREE LICENSE!
However, I would really like to see table-less layout as an option in Telerik one day.
Anyway, the scenario you mentioned looks interesting, Are you going to introduce it soon?
Regards
Mikolaj
It is in logged in our features database, but we cannot engage with a time-frame at this point.
Kind regards,
Steve
the Telerik team
Q3’11 of Telerik Reporting is available for download. Register for the What's New in Data Tools webinar to see what's new and get a chance to WIN A FREE LICENSE!
is there any Update regarding this Feature? Because we are needing this asap or otherwise we have to look for other Solutions.
Our Customer wants an easily editable Word Export, without those Layout-Tables around everything. An option to switch to a rendering method, which renders the Document without Layout-Tables, but with not-so-exact margins, would fit that requirement and we wouldn't be forced to work around this issue with other Solutions.
Hopefully it gets implemented, before our Customer gets impatient.
Thanks in advance and kind regards
New Word rendering extension is not in our short term plans. However Telerik Reporting is extensible and if required you can implement a custom Word rendering extension. Just implement accordingly the IRenderingExtension interface. For an example you can use our Word rendering extension source code. That is available for download from your account download page.
You can register your rendering extension in the report viewer with the following configuration:
<
Telerik.Reporting
>
<
Extensions
>
<
Render
>
<
Extension
name
=
"MyWord"
description
=
"My Word export"
type
=
"MyNamespace.MyClass, MyAssembly"
/>
</
Render
>
</
Extensions
>
</
Telerik.Reporting
>
For more information please check the Rendering Extensions help article. Regards,
Peter
Telerik
Have you tried the new visualization options in Telerik Reporting Q1 2013? You can get them from your account.