Generate .rdl file from Excel file - reporting

In a current project I have to generate an Excel report. I do have the the Excel file as a template which contains some static data along with some fields which contain parameter values.
On the bottom of the Excel file there should be a table which contains data from Dataset.
Now I am wondering if there is a way/ tool to generate the rdl file from the Excel file rather than creating it by myself (which would be very cumbersome...)
On the other hand is there a way to link static Excel content into the .rdl file?

You could use the excel spreadsheet as a data source for the report to pull the information in. But then it would need to be accessible from the report manager server if you're planning on deploying the report. So unless the information in the spreadsheet is going to change I think this will likely be more trouble than it is worth.
If it isn't necessary to deploy it to report manager then you could also try embedding the report in the excel file itself and use SSRS to update the dynamic content and you can just leave the static stuff already there. (Of course, depending on the complexity of what you're doing you could also just automate all of the dynamic stuff in Excel VBA code too.) I've personally never done this, but I've found a couple of blog posts detailing how it could possibly be pulled off. I think this is nifty enough I may have to try it if I ever get the chance. You can even use cell values in the spreadsheet and pass them as parameter values to the report.
I've found a post on embedding the report data as an image that refreshes from the report server. On the upside it seems simple to pull off, but the downside is that it is an image and the numbers won't be available to be individually selected only looked at. So it would be best for charts but not your data table.
Then there is this article which shows how to actually import the values into the spread sheet by pulling it in from SSRS in CSV format and using some VBA code to put it into the excel file. It is a more complicated solution but I think its a pretty cool idea, though I dunno how well it will work in practice.
Otherwise, I think you're stuck recreating the static information and formatting from the excel file in your report.

Related

has anyone made an xsl file to generate HTML like, Jmeter Dashboard report from XML

I want to group the results in HTML Report by their threadName, which is available in CSV, but not displayed in the Dashboard Report, Other option I saw to get what I want was using an XML file and customising the XSL file to obtain the output, But, I also want to have those graphs available from Dashboard Report!
Has anyone else faced this and solved it??
It is possible to generate HTML report from *.jtl in XML format, but it could be difficult. JTL files in XML format could be many times very big (~hundreds of MB) and you can also have problem to process such a big file with XSLT script. Another problem could be get the graphs in this report.
I suggest you use other options.
Use SmartMeter's Report Generator. You can use it form GUI or from command line
Use Blazemeter's Sense - this option is very simple and easy, but could be more expensive

How to generate a PDF within application with no reporting framework

I need to create pdf reports in my app. I'm using asp.net mvc3. What's the best way to do this? I don't really want to use a reporting framework if i can avoid it, it's just a few reports, table layout, groupings, pagination possibly, totals, ability to merge pdfs into 1 pdf....any ideas? what would be ideal is if i could convert my html view into a pdf simply...
There is nothing built into .NET allowing to create PDF files. So you have two possibilities: write one yourself from scratch or use one that exists.
In case you decide to go with the second you may take a look at flying-saucer which along with ikvmc.exe could be used to convert XHTML files into PDF. I have blogged about some of the required steps in order to get this working.
Some possibilities:
I think you can do this with SQL Server reporting services (in SQL rather than a 3rd party reporting framework)
Low level PDF libraries that can be used: PDFSharp, iTextSharp.
You could print an html file to a postscript driver using word automation, then convert the PS to PDF via GhostScript

Ruby: delete columns by name in MS Excel on Windows?

Is there a way to use Ruby to delete columns in an Excel spreadsheet by name (i.e. the value in the first row of the spreadsheet) on a Windows machine?
Background if you want it:
I am going to be receiving a large number of Excel spreadsheets on a regular basis. Some of these spreadsheets will contain columns that need to be deleted. I will know the names (first-row values) of the columns, but their positions in their respective spreadsheets will change from time to time, so I won't be able to automatically refer to the columns by letter. I would really like to be able to automate this process...
POI is the Apache project to create a library for reading MS Office files; it appears they have Ruby extensions. I have never used it before, but the code looks easy enough to understand. Good luck! Check it out here
You probably want to use the WIN32OLE library, built into the standard library on Windows. There's an example in PickAxe about using Microsoft Excel through the WIN32OLE library, and other examples here. You just need to learn how to use the Excel COM API to make the particular changes you're interested in.

MS Excel automation without macros in the generated reports. Any thoughts?

I know that the web is full of questions like this one, but I still haven't been able to apply the answers I can find to my situation.
I realize there is VBA, but I always disliked having the program/macro living inside the Excel file, with the resulting bloat, security warnings, etc. I'm thinking along the lines of a VBScript that works on a set of Excel files while leaving them macro-free. Now, I've been able to "paint the first column blue" for all files in a directory following this approach, but I need to do more complex operations (charts, pivot tables, etc.), which would be much harder (impossible?) with VBScript than with VBA.
For this specific example knowing how to remove all macros from all files after processing would be enough, but all suggestions are welcome. Any good references? Any advice on how to best approach external batch processing of Excel files will be appreciated.
Thanks!
PS: I eagerly tried Mark Hammond's great PyWin32 package, but the lack of documentation and interpreter feedback discouraged me.
You could put your macros in a separate excel file.
Almost anything you can do in VBA to automate excel you can do in VBScript (or any other script/language that supports COM).
Once you have created an instance of Excel.Application you can pretty much drop your VBA into a VBS and go from there.
If it's the Excel/VBA capability that you're looking to use then you could always start by creating all of the code that will interact with the Excel files you're wanting to work on within an Excel file - a kind of master file that is separated from the regular files, as suggested by Karsten W.
This gives you the freedom to write Excel/VBA.
Then you can call your master workbook (which can be configured to run your code when the book is opened, for example) from a VB script, batch file, Task Scheduler, etc.
If you want to get fancy, you can even use VBA in your master file to create/modify/delete custom macros/VBA modules in any of the target files that you're processing.
The info for just about all of the techniques I'm describing I got from the Excel VBA built-in reference docs, but it certainly helps to be familiar with the specific programming tasks that you're tackling. I'd advise that the best approach is to put together your tasks (eg, make column blue, update/sort data etc) one by one and then worry about the automation at the end.

Load MS Word files with AJAX

I want to dynamically load (AJAX) the text from some Microsoft Word files into a webpage. So I might have a link to essays I've written and upon mouseover have it load the first few sentences in a tooltip.
Only if you have a parser. I think the new format is a zip archive with XML schema. But the old one is just binary.
There are some parsers out there.
I know of wvWare but it seems it's outdated. (http://wvware.sourceforge.net/)
This is maybe something worth looking at: http://poi.apache.org/hwpf/index.html
And yeah, forgot to mention how to do this. :-)
First you need to make the javascript ask for the data through ajax. The serverside has to take care of the parsing and return the text to the javascript. This will be a pain in the ass. I haven't done this myself and have never tried the parsers I linked, so I'm not sure if they suit you. Images, stylesheets, etc.... not sure if that will be useable.
At least, good luck.
For security reasons, it is not possible to directly load a local file (such as a Word document) into the page using simply Javascript. The user will need to upload the file to the server, which you will want to parse on the server and then you can load whatever result you like into the page using Ajax.
It sounds like you mean to upload your files (e.g. essays) to your server to allow users to download them, and want to create a server-side page that will parse the files and print the first few lines (so it can be called by an AJAX method that displays a preview on hover).
To suggest a tool for this, we'll need to know whether these are "old" Word format (Office 2003 - extension is .doc) or "new" Word format (Office 2007 - extension is .docx).
It will also be good to know what you're using to create your pages server-side, since different document-reading tools support different programming languages. If you're using Java to read .doc files, you can use the tool we use at my place of work, which is POI (http://poi.apache.org/). If you're using something else, try searching google for {read in }, e.g. {read .docx in ruby}.
If all of this is Greek to you and you have no prior experience with developing custom server-side web code, this is probably going to be unnecessarily painful and you should consider an alternative (like manually creating a 3-line text "preview" page for each regular page, and then just showing that).

Resources