I'm experiencing a problem in SSRS 2005 with exporting a report to Excel (from the web interface) where it messes up the cells that are referenced in some formulas. This issue seems to be quite rare as it has only happened a few times in several months, but it is a critical issue for me as the report is dealing with financial data and there is no room for mistake.
Basically the report contains a table of financial data, where one column in particular is derived from 3 other columns in the report at run-time. The derived column uses an expression such as:
This is just in a simple table with no grouping, where there is a header row, one data row, and a footer row.
99% of the time the report runs fine and is accurate. However on the rare occassion when the bug raises its head... Let's say the table in report has 15 columns and 100 rows for a given month. If the bug occurs, it seems to affect 2 rows. When viewing the exported file in Excel, the formula in the derived column in the first buggy row will (incorrectly) try to reference the cells in the Header Row - which is strange because the expression is only referencing other fields in the same row of data, nothing to do with headers or footers - and therefore prints "#VALUE" in the cell because the formula is trying to operate on non-numeric data! And then further down the report, the derived column in the next buggy row will be trying to reference the values in a row that is 4 rows above, instead of the values in it's own row, which again is just puzzling...
I can't confirm that this happens when viewing the report initially from the web interface because the error doesn't get picked up until it is exported to Excel so that the users can work with the data.
Also, just thinking about it, and looking at these buggy rows in the export that I have saved I have noticed;
- The first buggy row is the 4th row of data, and references the header cells 4 rows above it (instead of the cells on the same row)
- The second buggy row is the 5th last row of data, and also references the cells 4 rows above it (instead of the cells on the same row)
Unfortunately I do not have any saved reports where this has happened in the past, so I can't really compare them to see if the same kind of pattern occurs.
And even more confusing is that simply exporting the report again will produce a correct report... However this can only happen after the user realises there is an error and goes back to do the export again, so that might also have something to do with it.
Has anyone else experienced this before, or have any suggestions for a workaround? I guess I could use an additional view to do the work, but I don't want to complicate maintenance on the report(s) that rely on the same data. I'm just baffled as to why this is even happening in the first place.
*Note: I haven't upgraded to SQL 2005 SP2 just yet, but the list of changes don't list a fix for this particular problem...
I'm creating a report that is designed to be exported to Excel so that the end user can manipulate the data. There are two main columns that I'm concerned with - TimeTaken and OTTimeTaken (for overtime).
Our application does not track OTTimeTaken so it's default will just be 0, but I need the excel file to have a formula that automatically adds the TimeTaken to the OTTimeTaken in a third cell for the total number of hours as that value will be added by the A/R department for invoicing.
I need to have a report that will have formulas in excel. I understand that the limited support for exporting excel formulas has been dropped in SSRS 2008. Is there any way to work around this and still output formulas?obvioulsy the way to do it in previous versions of SSRS are not working (using report items). I tried to add my formulas in my dataset (I can know which excel cells I need in the formulas) but they end up being displayed as text. I then have to get in the excel file and enter and exit each cell so that it "becomes" a formula.
Anyone know why cells within a matrix that are formatted as numeric export to Excel with a cell format proprty of "General"? Cells within a table however export with an appropriate format.
When I open the spreadsheet in Excel 2000, it works fine. When I try to print, it crashes Excel. In testing, I narrowed it down to the Header/Footer, because it also crashes when I go to Page Setup and click on the header/footer tab.
However, I can print the same spreasheet from Excel 2007.
Am I just dealing with a "you need to upgrade all your clients" situation, or is there a known issue with certian formatting that is passed out with reports that is not supported by older versions of Excel?
I am using Reporting Services 2005 SP2 to serve up the report that is exported to Excel.
I've been googling this for a while now and can't seem to find any elegant answers.
I'm looking for an automated way to present a FORMATED Excel Spreadsheet to the Customer from a stored procedure output.
Can anyone advise me the best method of doing this - should I / can I assign an Excel Template to the DTS Task output ?
His mind is set on Excel and the formatting is basic and easy to write in a Macro which I've done, but this requires human interaction to finish the task (Automated Run Once on opening etc).
In an ideal world an individual would send an email to the Server with two formated parameters (@FromDate & @ToDate) and would be emailed back a ready formatted S/Sheet. But I believe he would be willing to just select the relevant SpreadSheet for the Daily / Weekly / Monthly periods dumped.
I've built a fairly straight forward report in RS that looks normal in preview mode and in PDF format with out any issues.But when I export it to Excel report header is not appearing in each page.Any ideas as to why this is occurring?thanks in advance,Ramesh KS
Hello All, I'm simply exporting data from SQL to Excel via the Export Data feature in SQL Management Studio.My problem is I have a column aliased as [ID #] and when it exports it changes the Pound Sign into a decimal -> ID .SPACE(25) As [ID#], It's not a major problem but does anyone have any suggestions? Thanks, Kyle
Hi there I know its possible to export data from a gridview to excel. I'm looking to export data directly from a stored procedure at the click of a button.Somebody suggested using the following:insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C: esting.xls;', 'SELECT * FROM [SheetName$]') select * from table-nameWhen I tried executing the above lines of codes I got the following error message:"Ad hoc access to OLE DB provider 'Microsoft.Jet.OLEDB.4.0' has been denied. You must access this provider through a linked server." If anyone has any idea whats wrong ... plssssssssssssssssssss ... let me know .... Thanks in advance.
I have a job which produces a daily report and exports it to excel. However, instead of overwriting the contents of the file the data is being appended to the file. Any suggestions welcome.
I'm trying to export to excel using dts, but using a stored procedure where i have a query using temporary tables (#D,#T,#R) and the result is a table with a variable number of columns (sometimes 3 columns and sometimes 10 columns)
I want to run Stored procedure that is returning recordsets and is using cursors/ temporary tables (MS Sql 2000 Server). The output of this SP is to be used to prepare an excel Report.
It shows me the data in the Preview, but asks me to define transformations. Further on the transformations, it does not shows up the source columns (although they were populated in the preview)
When I perform the same task using DTS Export utility, i get the following error:
Error source: MS ole db provider for sql server Error Desc : Null Accessors are not supported by this provider context: error calling CreateAccessor. Your provider does not support all the interface/methods required by DTS
1. I created a spreadsheet named test.xls with the column headings from my temp table 2. Saved and closed this xls 3. Tried to run the following:
USE [PEI]; GO INSERT INTO OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:DELL est.xls;', 'SELECT * FROM [Sheet1$]') SELECT * FROM tblCFPooled GO
Where C:DELL est.xls is where I saved test.xls, tblCFPooled is the table I have populated in the firstplace and PEI is the database name.
When I run this the following error crops up:
OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" returned message "The Microsoft Jet database engine could not find the object 'Sheet1$'. Make sure the object exists and that you spell its name and the path name correctly.". Msg 7350, Level 16, State 2, Line 1 Cannot get the column information from OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)".
I then found something on a different site: http://www.mssqltips.com/tip.asp?tip=1202
So based on this I tried:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:DELL est.xls;', 'SELECT * FROM [T$]') select * from tblCFPooled
And obtained the following error:
OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)" returned message "The Microsoft Jet database engine could not find the object 'T$'. Make sure the object exists and that you spell its name and the path name correctly.". Msg 7350, Level 16, State 2, Line 1 Cannot get the column information from OLE DB provider "Microsoft.Jet.OLEDB.4.0" for linked server "(null)".
(I renamed the sheet1 to T if you are wondering where T$ comes in!)
Before running either of these 'export' queries I did as instructed in the first link: EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXEC sp_configure 'Ad Hoc Distributed Queries', 1; GO RECONFIGURE; GO
Which produced results: Configuration option 'show advanced options' changed from 0 to 1. Run the RECONFIGURE statement to install. Configuration option 'Ad Hoc Distributed Queries' changed from 0 to 1. Run the RECONFIGURE statement to install.
I assumed from that I had successfully enabled Ad Hoc Distributed Queries - Is that correct?
Both methods seem to throw up a similar error, an error which makes me think its some kind of SQL authentication issue.
Has anyone successfully exported from SQL to Excel - if so, any tips?!
(For the record I am using Management Studio, we are running SQL Server 2005, I am doing all this on a Vista Business machine, the SQL server is on a local server on our network here. )
I have a report when I run that report if the result is span for multiple page the table header is displaying for each page.When exported to PDf it is displaying the table header for each page.but when we export to Excel the table headers are not displaying.Any work around for this.
Hi , I have a simple report which i want to export to excel format. the are no groups in the report. I need each page of the report to appear as a seperate page in excel. currently when i export the report i get a single continuous page. is there any way in which i can do this ????
I have some reports that I used vbcrlf in. Whenever they are exported to Excel only the first line appears.
Ex: Name (&vbcrlf) Address 1 (& vbcrlf) Address 2 (& vbcrlf) City, State, Zip
This exports to Excel and displays the name line only. However, if I close the file that was exported and the extra blank screen, and hit export to excel again for a second time, all of the information is displayed.
I am having a problem exporting data to excel using t-sql. I need to create a t-sql stored procedure that exports the resultset of a dynamic query to Excel where the columns are not know beforehand.
I have been able to do it using bcp, but the problem is that the bcp method just exports the data to an tab-delimited ascii file with a .xls extension. Excel is smart enough to pick it up and parse it out into the individual cells, but the problem arises if the field value contains any special chars that may have been picked up when the user input the data by using copy & paste. Then the columns/rows are skewed for the record that has the field with the special chars in its field value.
I have tried using the openrowset method and if you know the fields(cols) that you want to retrieve, it works great. All you have to do is pre-create an excel file with the first row containing the columnNames for each column. But for dynamic queries, this is not an option. I have read somewhere that you can do a range, but have not been able to figure out to do that yet. You would have to pre-determine the number of columns & rows and figure out the range. Columns A-Z may not be as big an issue, but then I would have to figure out the values for any columns if the column count exceeded 26.
Outside of using Ole-Automation, is there any way than I can achieve the results that I really need? It just seems like over-kill for something that should be a simple task. If it cannot be done outside of Ole-Automation, is there a good example that someone can point me to?
Hi all, I have a SSRS Report which I have built using only a table. There are many table header rows, detail rows and table footers rows. For the layout of the report, I have merged many Table columns as well.
So when I am exporting this report to excel, it renders the report as it is but I am not able to manipulate any data in the excel till I do a lot of cleaning up. I have to remove the table headers, footers and also unmerge the merged columns etc.
My users are asking that they need a way throught which when they export the data it presents them with just the data which can be easily sorted, added, manipulated.
Is there a way of doing this. I thought about two ways of doing it.
Make another report in which only the data is shown and thus when this data is exported, then only the data gets exported to excel. But this is a very tedious way. Because as the number of reports increases, thi sis going to be a tough task to follow.
Make a web service or a plug in which will be connected to my web form. Then when the Export to Excel is clicked, this plug in will clean up the SSRS Report and export to excel in a way that only the data is exported. But I dont know much about web services or plug ins.
Could you please guide me that if it is achieveble. And what are the various ways in which this task can be done.
I really need this urgently. Any help or suggestion is welcome.
I have list within an list and we have section 1 thru 7. We display the list based the parameters seleted from report for some result section might start from 3 thru 6 . In such case when try to export to excel i get huge gaps as i am missing section 1 thru 2 in the report.
How do we avoid those spaces when exporting to excel,
I'm trying to use the export to Excel (Excel Destination) however, I wish to supply a dynamic piece of SQL to generate the data.
When I set the properties I just get an option to enter "Table or View", "Table or View as Variable" or "SQL Command".
The issue is that the table does not exist until the SSIS job is run and the columns will not always be the same anyway.
How can I use a simple dynamic piece of SQL (or stored proc) to get a recordset that is simply dumped out to excel - rows... columns... nothing more ?.
I have several similar reports all with a table with more or less columns depending on the report it self.
On one report I made the table rows with a bigger Height( because I have a small column with big data where I need to wrap)
It works OK on the Preview (Designer) it works OK on the reports Web Page (ReportManager) . it works OK when I export to PDF When I export to Excel the rows are not with the height I specified and not all the data is visible (I have to adjust row height in excel).
When our report exported to Excel, In the Excel file it is giving some extra columns between the data columns.How to avoid those extra columns.This extra columns causes problems when we want to sort one column it is throwing sort can't be applied on merged columns.
I am using SQL Server CE as a backend to a dekstop application. I would like the ability to export some of the SQL Server CE tables in my databse to MS Excel. Is this possible?
I have a big report which I want to export t oexcel. I get an error with timeout as it is a big fine. Does anyone have a suggestion as to how I can change the timeout? I tried to run the file on server early morning with File to Delivey option.
I'm looking for the best way to export the results of a parameterized stored procedure (SQL 2000) to excel. I can do this with DTS using global variables for the parameters, but each time I execute the package it appends the data below where the previous data was, leaving a bunch of blank rows. I need the data to always be appended to the 2nd row (replacing the old data) because I have a chart based on a dynamic named range in Excel. Is there an easy way to do this in DTS, or should I approach this another way (ADO, ActiveX Scripts, .NET, etc.)? Thanks,
In SQL7 you can use a wizard to export database to access or excel. Any known scripts or procedures? I need to give the data in one of these formats so it can be massaged into Oracle by our Oracle vendor. Any help or referals will be greatly appreciated.
I've created a dts package that exports data to an excel. The data exports okay, but I'd like to make a few changes on how the data is exported.
First, when the data exports to the excel file, it always creates a new excel sheet. How can I map the data to the existing sheet in the Excel file? I have an existing sheet named 'Sheet1'. I've deleted the other two sheets in the excel file, so there is only one sheet. When I created the destination table in the dts package for the data transformation task, I specified the name as 'Sheet1', but when it exports, it creates a new sheet named 'Sheet11'. I haven't been able to correct this.
Second, I'd like to either ammend data to the last row in the excel file, which I'd have to know the last record that was inserted from the SQL table. Or probably much easier, simply drop the existing sheet in the excel file and simply re-create and insert.
I'm trying to export around 115,000 rows from ms sql 2000 into Excel 2000, using the manual process. I just need this one time dump.
I am able to successfully export around +- 65,000 rows, but the operation fails after that.
I need to be able to get all the rows out, so using TOP obviously doesn't work.
Is there some "version" or modified way to use TOP to get...say, rows 65,000 to 90,000 then 90,001 to 115,000 ?
This would'nt be an issue if the db I'm working with was MySQL...I'd just use the LIMIT function and pull out 3 different chucks. Is there anything similar to LIMIT...or something converse to TOP in MS SQL? Or perhaps another way to dump the table then export it all (or in portions) into Excel?