如下更改您的代码:-
private readonly IHostingEnvironment _webHostEnvironment;
public HomeController( IHostingEnvironment webHostEnvironment)
{
_webHostEnvironment = webHostEnvironment;
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
}
public async Task<IActionResult> Print()
{
string mimetype = "";
int extension = 1;
var path = $"{this._webHostEnvironment.WebRootPath}\\Reports\\test.rdlc";
Dictionary<string, string> parameters = new Dictionary<string, string>();
parameters.Add("rp1", "Test Value to parameter");
LocalReport localReport = new LocalReport(path);
var result = localReport.Execute(RenderType.Pdf, extension, parameters, mimetype);
return File(result.MainStream, "application/pdf");
}
另外,别忘了根据需要安装一些 NuGet 包。
希望它能解决您的问题。有关更多详细信息和相关内容,您可以阅读这篇文章:-
http://blog.geveo.com/IntegratingRDLCReportsToNetCoreProjects
更新
App.config
<connectionStrings>
<add
name="MyConnectionString"
connectionString="Data Source=DESKTOP-N41V6ER\SQLEXPRESS;Initial
Catalog=MyDatabase;User ID=userName;Password=password"
providerName="System.Data.SqlClient"
/>
</connectionStrings>
用户 ID 和 密码 表示使用 SQL 凭据,而不是 Windows,但仍然非常简单 - 只需进入 SQL Server 的安全部分并创建一个新登录名。给它一个用户名和密码,并给它访问你的数据库的权限。
再次更新(数据源连接)
现在选择对象并点击下一步:-
下面是一个简单报告的设计,它允许在您连接的数据库中显示(假设)产品数据。然后点击完成。
然后点击确定按钮:-
然后你会在数据集中找到你的数据库表:-
现在您可以拖放您想要在报告文件中显示的数据。
.................................................. .....................
..................................................... ......
再次更新(数据库连接)
首先右键单击您的报告项目- => Add=>New Item 然后您将显示:-
在上面添加一个实体数据模型到windows窗体项目。然后点击Add.then:-
在上方,点击New Connection。
在上方,点击Continue。
上面,请提供您的服务器名称。我的机器只安装了一个(SQL server),我正在使用. 并在身份验证框中选择 SQL Server。
在上面,然后点击Ok。你已经习惯性地选择了你想要的数据库名称。
在上面,仔细输入您已经选择的数据库名称。
在上面,我选择了我的产品表,因为我将展示它。然后点击finish