Làm cách nào để xuất pdf từ báo cáo tinh thể bằng api web lõi ASP.NET

lập trình


Xin chào tất cả mọi người,

Tôi đang tạo một ứng dụng sử dụng Reacjs làm giao diện người dùng, asp.net 6.0 làm phụ trợ, tôi muốn tạo báo cáo trong báo cáo tinh thể và xuất báo cáo này sang PDF và Excel bằng api web lõi asp.net.

Tôi đã viết mã bằng asp.net nhưng có một số lỗi trong
ReportDocument reportDocument = new ReportDocument();

Tôi cũng đang gửi ảnh chụp màn hình lỗi và mã bên dưới..

Mã dưới đây:

ASP.NET
public async Task<iactionresult> GenerateReport()
{
    try
    {
        string rootDirectoryPath = _hostingEnvironment.ContentRootPath;
        string reportPath = Path.Combine(_hostingEnvironment.ContentRootPath, "Reports" + "\\AccountReport.rpt");
        ReportDocument reportDocument = new ReportDocument();
        reportDocument.Load(reportPath);

        System.IO.MemoryStream stream = new System.IO.MemoryStream();
       
        stream.Seek(0, System.IO.SeekOrigin.Begin);
       
        return File(stream, "application/pdf", "report.pdf");
    }
    catch (Exception ex)
    {
        
        return StatusCode(500, $"Internal server error: {ex.Message}");
    }
}

Error is below :

FileNotFoundException: Could not load file or assembly 'System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

Hệ thống không thể tìm thấy các tập tin được chỉ định.

Làm ơn hãy giúp tôi giải quyết vấn đề này..

Cảm ơn

Những gì tôi đã thử:

Tôi đã cài đặt tất cả các gói Nuget có liên quan

Giải pháp 1

Đã giải quyết: Crystal Reports cho Visual Studio và .NET Core 5…. – Cộng đồng SAP[^]

Chủ đề này gợi ý rằng Crystal Reports không hỗ trợ .NET Core / .NET 5+; nó chỉ hoạt động trong .NET Framework.

Bạn sẽ cần phải viết lại ứng dụng của mình trong .NET Framework hoặc chọn một công cụ báo cáo khác.

Bạn có thể thử liên hệ với SAP để xem liệu họ có bất kỳ kế hoạch cập nhật nào để hỗ trợ .NET không, nhưng ít nhất một trong các nhận xét trong chuỗi đó cho biết rằng họ sẽ ngừng tất cả hỗ trợ cho Visual Studio vào năm tới, vì vậy không chắc quan điểm của họ đã thay đổi .

コメント

タイトルとURLをコピーしました