报告服务如何返回报告数据(我的报告服务器中已经有一些完整的报告)我的ASP.Net Web应用程序可以使用asp.net html和CSS接收,格式化和显示?
RS是否有可能以json,xml等方式重新报告报告,我可以在我的代码隐藏中使用它来显示它们?例如,我想要将头条标记为蓝色并将其设置为深蓝色,并为我的重新分配添加背景图像,并在程序化的报告中为某些值添加一些图标,等等。
我不想使用reportviewer控件。我的报告不使用任何输入参数。
答案 0 :(得分:3)
我有一种尝试过的方法。
首先,您需要默认以XML格式输出报告。 http://msdn.microsoft.com/en-us/library/ms154040.aspx http://msdn.microsoft.com/en-us/library/ms152835.aspx
接下来,您需要使用XSLT将转换应用于XML输出 http://msdn.microsoft.com/en-us/library/aa178953(v=sql.80).aspx
我认为这是获取报告并将其转换为HTML格式的唯一方式
另一种溶解 基于TFD建议,我创建了一个简单的控制台应用程序,它读取由报告服务生成的csv文件并打印结果。
我使用了LinqToExcel因此读取数据会更快,但您不必使用它
代码:
System.Net.WebClient client = new WebClient();
client.Credentials = new NetworkCredential("username", "password");
client.DownloadFile("reporingservisesURL/ReportServer?
rs:Command=Render&rs:Format=CSV", "file.csv");
FileInfo file = new FileInfo("file.csv");
var excel = new ExcelQueryFactory(file.FullName);
var worksheetNames = excel.GetWorksheetNames();
var results = from c in excel.Worksheet("UsersTry")
select c;
foreach (var item in results)
{
Console.WriteLine(String.Format("UserID: {0} , UserName:{1} ,
LoginName: {2}",item[0].Value,item[1].Value,item[2].Value));
}
Console.WriteLine("The End :)");
Console.ReadLine();
我希望它可以帮到你