[英]Generate PDF report from RDLC on button click
我需要單擊按鈕的簡單代碼,它將我的當前rdlc報告保存為pdf格式,並要求用戶通過saveialog將文件保存在所需位置。 我已經到處搜索,找不到任何解決方案。
我的ShowReport按鈕代碼在這里:
SqlConnection S_Conn = new SqlConnection(strConnString);
S_Conn.Open();
string query_1 = "";
query_1 = "SELECT Record_Id, Select_Ward, Mr_No, Patient_Name, Date_Of_Admission, Date_Of_Dsch_Death, Disease from EO_System_RecordRoomData WHERE Date_Of_Admission = '" + txtbx_DateForReport.Text.Trim() + "'";
SqlCommand Command_1 = new SqlCommand(query_1, S_Conn);
SqlDataAdapter Data_Adapter = new SqlDataAdapter(Command_1);
DataSet1 Data_Set = new DataSet1();
Data_Adapter.Fill(Data_Set);
reportViewer1.LocalReport.DataSources.Clear();
reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", Data_Set.Tables[1]));
this.reportViewer1.RefreshReport();
非常感謝您的幫助。
您可以使用以下庫:ItextSharp
您可以使用以下鏈接中給出的方法創建pdf。 您可以通過Nuget Package Manager下載itextsharp。
http://www.mikesdotnetting.com/article/86/itextsharp-introducing-tables
嘗試這個:
SqlConnection S_Conn = new SqlConnection(strConnString);
S_Conn.Open();
string query_1 = "";
query_1 = "SELECT Record_Id, Select_Ward, Mr_No, Patient_Name, Date_Of_Admission, Date_Of_Dsch_Death, Disease "
+ "from EO_System_RecordRoomData WHERE Date_Of_Admission = '" + txtbx_DateForReport.Text.Trim() + "'";
SqlCommand Command_1 = new SqlCommand(query_1, S_Conn);
SqlDataAdapter Data_Adapter = new SqlDataAdapter(Command_1);
DataSet1 Data_Set = new DataSet1();
Data_Adapter.Fill(Data_Set);
reportViewer1.LocalReport.DataSources.Clear();
reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("DataSet1", Data_Set.Tables[1]));
reportViewer1.RefreshReport();
SaveFileDialog saveFileDialogPDF = new SaveFileDialog();
saveFileDialogPDF.Filter = "PDF|*.pdf";
saveFileDialogPDF.Title = "Save report to PDF";
saveFileDialogPDF.ShowDialog();
if (saveFileDialogPDF.FileName != "")
{
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string filenameExtension;
byte[] bytes = reportViewer.LocalReport.Render(
"PDF", null, out mimeType, out encoding, out filenameExtension,
out streamids, out warnings);
using (FileStream fs = new FileStream(saveFileDialogPDF.FileName, FileMode.Create))
{
fs.Write(bytes, 0, bytes.Length);
}
}
資源:
https://msdn.microsoft.com/zh-CN/library/sfezx97z(v=vs.110).aspx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.