1 需求
最近有朋友問起,交貨單中要列印二維碼,問我如何解決,是不是必須在SmartFrom中解決,為此,我還是簡要也和大家分享一下,以一個簡單的交貨單號轉為二維碼輸出為例。
2 實現
其實,SmartForm也好,還是直接輸出到Excel也罷,無非只是個輸出的樣表不同而已,管控力度不 一樣,從開發的角度區別不是特別大。代碼和圖形界面繪製可能因為封裝差異,具體上會有差異。今天我們還是根據Excel來實現,因此今天的內容,可能與具體ERP關係不是特別大,僅以EXCEL為例。
(1)EXCEL設置
在Excel中啟動「開發工具」,以EXCEL2016為例:
啟動EXCEL後,打開 文件》選項》自定義功能區,如圖,在主選項卡中,勾選「開發工具」。
(2)定義單元格名稱
為方便引用,而不是絕對單元格,一般需要在Excel可以定義單元格名稱,如圖示,在Excel的公式菜單,找到名稱管理器。
在名稱管理裡,對單元格進行名稱,如「交貨單號」,為了簡化處理,一般可以用外部輸出到一個列印區域外的單元格(可隱藏),這裡,我們引用的單元格是AB1這個單元格。
(3)EXCEL輸出二維碼
在要輸出的單元格,選擇如下:
選擇「其他控制項」,彈出下圖。選擇「microsoft Barcode Contol 16.0」,如其他版本excel,可能版本略低,也可以試試。
繪製一個條形碼,後如圖,會出現一個一維碼,選中此條碼,右鍵依次如圖,選擇到相應的屬性。
確定後,二維碼樣式生成了,不要著急,這時候的內容還不是我們想要的,繼續如圖,選擇二維碼,根據屬性,設置相應的「LinkedCell」的值為上面我們指定的單元格名稱「交貨單號」,確認即可。
(4)ABAP調用
最後,通過設置輸出模板,和ABAP調用,將需要輸出成二維碼的內容寫入到「交貨單號」的單元格,excel自動轉換為二維碼信息,至此,功能介紹完畢。
也可以根據情況進行調整條碼樣式,希望對大家有所幫助。