Day18 — 匯入 excel-應用篇

前言

使用者除了有匯出報表的需求外,也會有需要大量匯入的情境,匯入會更需要驗證輸入的資料,有可能是空的資料、跟預期輸入 Excel 完全不同、重複的資料 (需看情境是否接受重複的資料)、部分資料輸入錯誤…等

實作

這邊會需要使用到 rooroo-xls 這 2 個 Gem ,可參考此 pr

以下範例有做簡單的驗證,像是判斷輸入的 Excel 標題列是否一樣、是否有資料、是否有重複的資料、是否與 DB 資料重複

大量匯入時,可改用 activerecord-import 處理,可參考這篇文章

rails console 輸入以下

範例的 Excel 檔

小結

匯入要做的基本驗證蠻多的,需考量各種情境,並盡可能地去預防處理,和匯出一樣,建議都是放 sidekiq 處理,完成後再寄信給使用者,告知匯入結果

參考資料

  1. Roo GitHub

鐵人賽文章連結:https://ithelp.ithome.com.tw/articles/10272591
medium 文章連結:https://link.medium.com/Teq2MzayRjb
本文同步發布於 小菜的 Blog https://riverye.com/

備註:之後文章修改更新,以個人部落格為主

大家好,我是被端走的小菜。以個人部落格更新為主:https://riverye.com/

大家好,我是被端走的小菜。以個人部落格更新為主:https://riverye.com/