RDL's are just xml files.
For example this will get you the data sets information used in your report. You can use this to insert into a table, or copy paste results wherever you want.
Using your local sql server.
IF NOT EXISTS (SELECT * FROM tempdb.INFORMATION_SCHEMA.Tables WHERE TABLE_NAME LIKE '#t%')
CREATE TABLE #T (IntCol int, XmlCol xml);
ELSE TRUNCATE TABLE #t
GO
INSERT INTO #T(XmlCol)
SELECT * FROM OPENROWSET(
BULK 'C:\Users\<YourUserName>\Documents\Visual Studio 2008\Projects\Test\Test\MyTestReport.rdl',
SINGLE_BLOB) AS x;
DECLARE @idoc int
DECLARE @doc XML
SELECT TOP 1 @Doc = xmlCol
FROM #T t
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc, '<root xmlns:n="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"/>'
SELECT
DataSourceName
,Name AS DataSetName
,ISNULL(CommandType,'Text') AS CommandType
,CommandText
,DataField AS DataSetFieldName
,TypeName AS FieldDataType
FROM OPENXML (@idoc, '/n:Report/n:DataSets/n:DataSet/n:Fields/n:Field',2)
WITH (Name varchar(50) '../../@Name'
,DataSourceName varchar(100) '../../n:Query/n:DataSourceName'
,CommandType varchar(100)'../../n:Query/n:CommandType'
,CommandText varchar(1000)'../../n:Query/n:CommandText'
,DataField VARCHAR(50) 'n:DataField'
,TypeName VARCHAR(50) 'rd:TypeName'
)
EXEC sp_xml_removedocument @idoc
This is a sample how to pull info from a tablix. However the structure changes dramatically when you add row and column groups, so its not a one size fits all type query.
SELECT
Name
,AttribName
,ToolTip
,DataField
,ROW_NUMBER() OVER(ORDER BY CASE WHEN AttribName LIKE 'hdr%' THEN AttribName ELSE 'z' + AttribName END) AS Ord
FROM --OPENXML (@idoc, '/n:Report/n:ReportSections/n:ReportSection/n:Body/n:ReportItems/n:Tablix/n:TablixColumnHierarchy/n:TablixMembers/n:TablixMember/n:Group',2)
OPENXML (@idoc, '/n:Report/n:Body/n:ReportItems/n:Tablix/n:TablixBody/n:TablixRows/n:TablixRow/n:TablixCells/n:TablixCell/n:CellContents/n:Textbox',2)
WITH (Name varchar(10) '../../../../../../../@Name'
,AttribName varchar(100) '@Name'
,ToolTip VARCHAR(500) 'n:ToolTip'
,DataField VARCHAR(1000) 'n:Paragraphs/n:Paragraph/n:TextRuns/n:TextRun/n:Value'