Wyn Enterprise報表的圖片元素支持外部圖片、內嵌圖片、數據庫二進制圖片(Image字段),只需簡單綁定數據集字段即可。
如果數據庫字段值不是二進制的Image,而是字符型的Base64格式的字符串,那么可以使用Convert.FromBase64String表達式來轉換。
具體操作方法如下:
(1)數據庫表設計字符型字段,如下圖:
圖中的Base64字段類型為varchar(MAX),就是用於保存圖片的Base64內容的。
(2)准備Base64字段內容
實際項目中,數據庫中的Base64字符串都是通過程序代碼轉換得到的。
如果想要手工講一個圖片轉成Base64字符串,可使用網上的圖片轉Base64的工具,一般上傳一個圖片文件,轉換之后就能得到下面這樣的字符串:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARMAAAGB....
將這個字符串從轉換工具的網頁上拷貝下來,去掉最前面的 data:image/png;base64, (包括最后的逗號),再粘貼到數據庫的字段中,如下圖:
當然使用insert語句也可以。
(3)拖放圖片元素到報表
如下圖,在一個表格的單元格中拖放一個圖片元素:
(4)設置圖片的數據
先展開圖片元素的【圖片】屬性,以便看到更多設置選項,如下圖:
再點擊【數據】右側的小方塊圖標,打開表達式編輯器,輸入下面這樣的表達式:
=Convert.FromBase64String(Fields!Base64.Value)
如下圖:
這個表達式的含義是:將Base64字段值轉成二進制的圖片。
這樣設置后,就可以預覽報表了,效果如下圖:
其中表格第三列是顯示Base64字段的實際字符串內容,最后一列的紅色塊是實際的圖片。