iT邦幫忙

0

[SSRS][SQL REPORT]怎麼顯示圖片 -來源 BASE64

  • 分享至 

  • xImage
  •  

🐤SSRS

1.資料準備(準備base64的資料)
https://ithelp.ithome.com.tw/upload/images/20241001/20106764IBdofE5CCg.png
注意事項:DB裡的值,前面的desc要拿掉,只存後面就好

2.報表設計-add dataset
https://ithelp.ithome.com.tw/upload/images/20241001/20106764CNjHaYE2V4.png

3.報表設計-圖片
https://ithelp.ithome.com.tw/upload/images/20241001/20106764m8NNaSwCOD.png

圖片屬性設定,要選png
https://ithelp.ithome.com.tw/upload/images/20241001/20106764y6vuzObYp5.png

🐤rdlc

1.資料準備,把圖檔轉成base64

        using (MemoryStream ms = new MemoryStream())
        {
            gImage.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
            string ss = Convert.ToBase64String(ms.ToArray()); 
        }

2.add dataset :add datatable

https://ithelp.ithome.com.tw/upload/images/20241001/201067644jGpEqZb9W.png

3.報表設計

add dataset & 插入圖片,設定圖片來源
https://ithelp.ithome.com.tw/upload/images/20241001/20106764HMcb5KeBMs.png
https://ithelp.ithome.com.tw/upload/images/20241001/20106764f9KtVFiFiG.png

4.form設計

        // new資料表
        DataTable dt = new DataTable();
        dt.Columns.Add("bar", typeof(string));
        
        //把圖轉成base64,存在datatable
        using (MemoryStream ms = new MemoryStream())
        {
            gImage.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
            string ss = Convert.ToBase64String(ms.ToArray());
            dt.Rows.Add(ss);
        }
        
        // setting
        reportViewer1.LocalReport.ReportPath = "rptBASE64.rdlc";
        reportViewer1.LocalReport.DataSources.Clear();
        reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet2", dt));
        reportViewer1.RefreshReport();
        

🐤rdl和rdlc在這方面的差別是什麼?

rdl,可藉由select來新增datatable
rdlc,雖然可以直接連DB設定,勾選table建立datatable.
但沒辦法像rdl自己寫語法,如果要建立的話,就要自己設定datatable.

rdlc
https://ithelp.ithome.com.tw/upload/images/20241001/201067645GnYysNFdL.png
rdl
https://ithelp.ithome.com.tw/upload/images/20241001/20106764CNjHaYE2V4.png


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言