Записать файл Excel из файла rdl / rdlc в приложение Windows

я имею RDL файлы, созданные Report Builder 3.0. Мне нужно использовать их в моем приложении для Windows, написанном на C ++ таким образом, чтобы я мог устанавливать параметры подключения к SQL Server и расположение отчета во время выполнения.

Это возможно и как?

Google сказал мне что мне нужно конвертировать RDL в RDLC файл, но даже тогда я не мог найти способ установки этих параметров и вызова RDLC файл из C ++.

0

Решение

Вы можете использовать ReportViewer и использовать файлы RDL или RDLC, но RDL может иметь некоторые ограничения, так как он не включает необходимую информацию для создания кода привязки данных.

Файлы RDL не содержат информации о том, что время разработки
Элемент управления ReportViewer зависит от автоматической генерации
код привязки данных. Привязывая данные вручную, файлы RDL могут использоваться в
элемент управления ReportViewer.

Вы можете установить параметры из ReportViewer, проверьте этот документация и приведенный ниже пример кода на C #:

private void SetReportParameters() {
// Set Processing Mode
reportViewer1.ProcessingMode = ProcessingMode.Remote;

// Set report server and report path
reportViewer1.ServerReport.ReportServerUrl = new
Uri("http://<ServerName>/reportserver");

reportViewer1.ServerReport.ReportPath =
"/AdventureWorks Sample Reports/Employee Sales Summary";

List<ReportParameter> paramList = new List<ReportParameter>();

paramList.Add(new ReportParameter("EmpID", "288", false));
paramList.Add(new ReportParameter("ReportMonth", "12", false));
paramList.Add(new ReportParameter("ReportYear", "2003", false));

this.reportViewer1.ServerReport.SetParameters(paramList);

// Process and render the report
reportViewer1.RefreshReport();
}

Это пример ReportViewer Использование для создания файлов Excel:

protected void Button1_Click(object sender, EventArgs e)
{
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string extension;

byte[] bytes = ReportViewer1.LocalReport.Render(
"Excel", null, out mimeType, out encoding,
out extension,
out streamids, out warnings);

FileStream fs = new FileStream(@"c:\output.xls",
FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Close();

Label1.Text = "Report exported to output.xls";
}

Дайте мне знать, если это поможет вам.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]