Xuất báo cáo ssrs sang html theo chương trình C#
Không có cách nào để lấy số hàng trên mỗi trang trong báo cáo. Vì vậy để xuất từng trang ra excel riêng bạn cần xuất DataSet mà bạn được gán vào ReportDataSource và cần gán kích thước hàng để xuất mỗi trang trong mã phía sau dựa trên kích thước bạn đã cung cấp lúc thiết kế cho báo cáo Show Kiểm tra ví dụ này. Bây giờ hãy tham khảo và sửa mã của bạn Trong ví dụ này, tôi đã sử dụng thư viện ClosedXml để xuất sang excel Bạn có thể tham khảo bài viết dưới đây để biết thêm chi tiết HTML không gian tên C# using System.Data; using System.Configuration; using System.Data.SqlClient; using Microsoft.Reporting.WebForms; using ClosedXML.Excel; Mã số C# protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ReportViewer1.ProcessingMode = ProcessingMode.Local; ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Report.rdlc"); Customers dsCustomers = GetData("select * from customers"); ReportDataSource datasource = new ReportDataSource("Customers", dsCustomers.Tables[0]); ReportViewer1.LocalReport.DataSources.Clear(); ReportViewer1.LocalReport.DataSources.Add(datasource); } } private Customers GetData(string query) { string conString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; SqlCommand cmd = new SqlCommand(query); using (SqlConnection con = new SqlConnection(conString)) { using (SqlDataAdapter sda = new SqlDataAdapter()) { cmd.Connection = con; sda.SelectCommand = cmd; using (Customers dsCustomers = new Customers()) { sda.Fill(dsCustomers, "DataTable1"); return dsCustomers; } } } } protected void btnExport_Click(object sender, EventArgs e) { // Assign record per page in the excel as per the report. int rowPerPage = 10; Customers dsCustomers = GetData("select CustomerId,ContactName,City,Country from customers"); DataTable dt = new DataTable(); for (int j = 0; j < dsCustomers.Tables[0].Columns.Count; j++) { string columnName = dsCustomers.Tables[0].Columns[j].ColumnName; dt.Columns.Add(new DataColumn(columnName)); } for (int i = 0; i < dsCustomers.Tables[0].Rows.Count; i++) { if ((i > 0 && (i % rowPerPage == 0))) { GenerateExcel(dt, @"C:\Users\dharmendra\Desktop\Excels\", "Test" + i); dt.Clear(); } DataRow dr = dsCustomers.Tables[0].Rows[i]; dt.Rows.Add(dr.ItemArray); if (i == dsCustomers.Tables[0].Rows.Count - 1) { GenerateExcel(dt, @"C:\Users\dharmendra\Desktop\Excels\", "Test" + i); dt.Clear(); } } } private void GenerateExcel(DataTable dt, string filePath, string fileName) { XLWorkbook wb = new XLWorkbook(); wb.Worksheets.Add(dt, fileName); wb.SaveAs(filePath + fileName + ".xlsx"); } Ảnh chụp màn hình Trên nút Xuất, nhấp vào các tệp được tạo trong thư mục đã chỉ định Bạn có thể xuất báo cáo SSRS sang định dạng bên ngoài khác thông qua mã. Đoạn mã sau minh họa việc sử dụng phương thức Xuất để xuất báo cáo SSRS sang định dạng Microsoft Word (DOCX). Ví dụ này sử dụng mẫu được tạo trong Bắt đầu nhanhTrong Dynamics CRM, người dùng có thể tự chạy báo cáo trên một bản ghi hoặc xem (danh sách các bản ghi) nhưng có một số trường hợp đặc biệt khi bạn cần chạy và tải xuống báo cáo theo chương trình. Ví dụ
Để thực hiện việc này, chúng tôi cần gọi dịch vụ báo cáo theo chương trình để thực thi và tạo tệp PDF Dưới đây là các bước chúng tôi sẽ làm trong bài viết này
Thiết lập dịch vụ báo cáoĐảm bảo bạn cài đặt dịch vụ báo cáo cho CRM. Làm theo tài liệu này nếu bạn chưa cài đặt Nếu bạn cài đặt dịch vụ báo cáo đúng cách, bạn có thể mở "Trình quản lý cấu hình dịch vụ báo cáo" Mở "URL dịch vụ web", bạn sẽ thấy URL máy chủ báo cáo Nếu bạn mở URL Dịch vụ Web, bạn có thể xem các báo cáo của mình Dịch vụ web báo cáo là URL ở trên nối với chuỗi "reportexecution2005. asmx" Trong trường hợp này, dịch vụ báo cáo là http. //xxx-dev/ReportServer/reportexecution2005. asmx Nếu bạn mở URL này trong trình duyệt, bạn sẽ thấy liên kết phản hồi XML này Hãy lưu ý URL này vì bạn sẽ cần nó cho bước tiếp theo
Tạo tham chiếu web đến dịch vụ báo cáoMở giải pháp của bạn (mã nguồn) trong studio trực quan, sau đó thêm tham chiếu Dịch vụ cho dự án Nhấp vào nút Nâng cao
Nhấp vào Thêm tài liệu tham khảo web
Nhập url dịch vụ báo cáo vào hộp URL Sau khi thêm thành công, bạn có thể thấy dịch vụ báo cáo được thêm vào dự án của mình trong Tham chiếu web Gần như đã sẵn sàng để thực hiện báo cáo bằng C#
Xuất bản báo cáo để sử dụng bên ngoàiVì chúng tôi sẽ thực hiện các báo cáo từ bên ngoài, chúng tôi cần xuất bản chúng để sử dụng bên ngoài Mở báo cáo, sau đó chọn Hành động \ Xuất bản báo cáo để sử dụng bên ngoài
Thực thi báo cáo và tạo tệp PDF bằng C#Cho đến bây giờ, nó đã sẵn sàng để viết mã của bạn để thực hiện báo cáo
Giải thích các thông số
Đoạn mã trên sẽ trả về một byte[], bạn cũng có thể chuyển đổi thành chuỗi base64 nếu cần
Phần kết luận
Dynamics 365 Xuất PDF từ báo cáo SSRS theo chương trìnhthẻ API Thao tác dữ liệu Lặn sâu Hội nhập lập trình Báo cáo hướng dẫn nguyễn văn hảo Xin chào, tôi tên là Hảo, tôi là nhà phát triển Dynamics CRM tại ELCA Việt Nam. Tôi tốt nghiệp Đại học Khoa học Tự nhiên Thành phố Hồ Chí Minh Việt Nam. Tôi chủ yếu làm việc trên CRM trực tuyến và tại chỗ. Tôi cũng làm việc trên các công nghệ Power Platform như Power Automate, Power Apps Component Framework. Tôi có cơ hội làm việc với Microsoft trong 2 dự án CRM (online). Tôi có một số kinh nghiệm với việc di chuyển dữ liệu SSIS và Azure Data Factory |