我在 Stimulreport 的帮助下制作了一份报告,并希望在我的报告中显示来自数据库的图像。
图像为 byte[] 格式。
我该怎么做?
谢谢。
您可以在 Image 组件的 ImageData 属性中使用以下表达式:
{StiImageHelper.GetImageFromObject(your_byte_array)}
我有一个测试表,如:
和一个测试 stimulsoft 报告,如:
下面的代码是我如何将图片从 sql server 发送到 stimulsoft 并制作报告的 pdf 文件:
protected void btnPrint_Click(object sender, EventArgs e)
{
SqlCommand myCommand = new SqlCommand("SELECT * FROM Product_Pipe_QR", new SqlConnection("my connection string"));
SqlDataAdapter dataAdapter = new SqlDataAdapter(myCommand);
DataSet dataSet = new DataSet("QR");
dataAdapter.Fill(dataSet);
StiReport stiReport = new StiReport();
string path = "~/Report/Product/QR.mrt";
stiReport.Load(Server.MapPath(path));
stiReport.RegData(dataSet);
stiReport.Render();
if (!Directory.Exists(Server.MapPath("~/Report/PDF")))
Directory.CreateDirectory(Server.MapPath("~/Report/PDF"));
string ReportFileName = "Pipe_Report.pdf";
stiReport.ExportDocument(StiExportFormat.Pdf, ReportFileName);
FileStream file = File.Open(ReportFileName, FileMode.Open);
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" + ReportFileName);
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = "application/pdf";
file.Close();
Response.WriteFile(ReportFileName);
}
在stimulsoft 字典中和UniqueSerial
在数据库中都是.QRImage
string
QRImage
image type