B端產品小功能設計1:批量導入

20 評論 19908 瀏覽 127 收藏 8 分鐘

在B端產品設計中,我們經常會用到批量導入這個功能,用好它就能大大提高工作效率。本文將從四個方面,對批量導入展開介紹分析,希望對你有幫助。

今天分享一個B端產品設計中經常或者說必須用到的功能:批量導入。

相信很多小伙伴都對這個功能有接觸和了解,覺得不過就是個簡單的把Excel表的數據導入到系統而已。

道理是這么個道理,但小功能也有它的奧妙之處,況且批量導入是個很不一般的非常重要的功能,特別在B端產品設計中。

一個做得好的批量導入功能,可以大大提高使用者的工作效率。

那么我們在設計這個功能時,需要考慮什么呢?我羅列了幾點:

  • 如何才能讓用戶在批量導入過程中盡可能地減少出錯的概率。
  • 若真的出現導入錯誤應該怎么處理,如何提示用戶修改,用什么方式更好。
  • 批量導入的數據量大概有多大。
  • 導入的數據,如果與原有數據沖突時,該怎么處理。

一、設計批量導入的模板

眾所周知,在做導入功能時,我們都會用到Excel表。由于用戶在Excel中的輸入編寫是很自由的,如果不把Excel定好格式模板,告訴用戶我們的填寫規則,那么用戶填寫完的信息導入系統時,很大概率是不符合規范的,所以第一步必須要定好Excel的模板。

首先,要在Excel中把填寫規則表述清楚。

例如這個報表的填寫功能的批量導入的說明,我們可根據各自的業務規則需求,制定適合自己的規則。

而且,在一些需要與系統數據庫進行匹配校驗的數據,要控制好輸入格式,可以讓用戶選擇,就不要讓用戶編輯輸入。

例如:省市區這類型,例如廣東省,如果用戶輸入,很可能有的用戶輸入“廣東”,這樣在和數據庫進行匹配或者校驗時就會匹配不到數據。所以我們要盡可能避免這種情況。

二、使用步驟引導用戶

盡可能把入口放在易見的位置,例如列表頁top。在用戶首次進行導入操作時,肯定是需要先下載一個模板的,所以我們可以在按鈕旁邊加一個說明指引:“第一步:下載模板;第二步,編寫內容,批量導入?!?/p>

三、提示用戶現在的狀態,如何進行下一步

用戶按照模板填寫完后,就可以點擊【批量導入】按鈕把數據導入。

此時,我們需要兩種情況:數據正確無誤成功導入;導入的數據存在錯誤。

導入數據后,先校驗數據是否有錯誤,如果正確無誤,那么就可以直接在數據庫創建數據,也可以把數據先進行頁面化顯示,讓用戶對數據進行再次確認再進行手動提交入庫。

在這里,我們是建議使用先頁面化顯示這種方式,一是可以讓用戶知道自己導入了哪些數據,二是當有錯誤的時候,可在頁面中直觀的讓用戶看到哪幾行出了錯(當然這種方式要考慮數據量的問題,如果數據量非常大就不適用這種方式)。

而對于導入后某些數據有錯的情況,我們一般又可以分為兩種方式進行處理:

1.允許用戶在線直接修改,導入后提示用戶有幾條錯誤,可以在線進行編輯修改,修改后進行保存。

進行調整也有兩種調整方式:直接在列表中實現可編輯的;點擊列表,彈窗頁進行編輯。

一般都更推薦第二種方式,實現起來更靈活,可直接使用前端的組件

2.不允許用戶在線修改,需要重新上傳。我們需要提示用戶Excel中,哪幾行的數據錯誤,錯誤原因是什么?

至于用哪種方式,一般根據實際情況考慮,特別是數據量,如果錯誤的數據量大還是建議不允許用戶在線修改,提供一個讓用戶自己下載“錯誤報告”的功能(用戶上傳的Excel附加一個錯誤說明),讓用戶對著錯誤說明在Excel上進行修改,重新上傳(畢竟在Excel中批量修改會比在線修改效率要高很多)。

四、如何處理有沖突的數據

在最后,還有一個需要考慮的問題,就是導入的數據存在沖突時該如何處理。我們這個導入是增量導入還是支持覆蓋導入?

如果是要支持如果要支持覆蓋導入,那么這個導入列表就需要加一個在系統中的唯一標識。

以通訊錄為例,導入的列表要加一個員工編號,當導入的時候,檢測這個員工編號在原來系統中是否存在,如果存在,那么就是對原來那條記錄的修改,并且提示用戶,是否對該記錄進行修改,可展示前后對比給用戶看。如果不存在,那么就是新增。

還有一種情況是數據備案導入,那么就要保留原有的歷史數據,同時存儲新導入的數據。

以上是在設計批量導入功能時需要考慮的幾個點,基本可以滿足各種常規的需求,如果還有更好的優化方法,記得給我提建議哦~

 

作者:叫我阿逸,公眾號:人云逸云;產品道路上不斷前行的產品小白

本文由 @叫我阿逸 原創發布于人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 批量導入其實是非常不值得提倡的功能,但由于系統許多方面基建跟不上,導致只能用導入做提高效能的替代功能。

    來自上海 回復
  2. 1、導入如你所贅述如此簡單? 批量傳入?
    2、導入涉及外部數據與其他系統之間數據交換和數據庫字段,邏輯運算匹配復雜關系,涉及操作層面必填字段,非必填字段,為何必填?字段與字段關系,前臺接收數據后展現,存儲方式,狀態?后臺數據關系,權限,字段屬性限制等,是整表導入,還是行或列部分導入,背后設計,驗證,優化,升級大了去啦。
    3、導入是一個復雜功能,屬于軟件部分,而不是工具。

    來自四川 回復
    1. 我也會對您說的這幾個方面加深研究學習,看看有沒有更好的分享

      來自廣東 回復
    2. 我所說的只是簡單的功能設計,數據層面沒有描述到。但您的語氣好像很不滿意是因為什么原因…

      回復
    3. 功能設計?不涉及數據層面,(做一個功能標簽擺設),好好學習,不要太在意,學到內容才是主要的,,

      來自四川 回復
    4. 我說的是數據層面沒有描述道,不是不涉及。。。你說的我都懂,我也是技術出身,只是我在這篇文章不是著重在這方面的描述。希望你理解

      來自廣東 回復
    5. 我也覺得,咄咄逼人

      來自廣東 回復
  3. 批量導入對性能的要求還是挺高的,除了上限外也要考慮高并發多人同時操作的情況,一般來說可以通過異步任務隊列或者模板配置等方式實現

    來自湖北 回復
    1. 來自廣東 回復
  4. 其實一下子導入幾千條都是很正常的,我們支持在線批量修改或者下載錯誤內容修改

    來自廣東 回復
    1. 嗯嗯挺好的

      來自廣東 回復
  5. 受益匪淺

    回復
    1. ??

      回復
  6. 一個小功能寫的很詳細

    回復
    1. ??

      回復
  7. 導入上限建議用條數限制還是文件大小限制呢

    回復
    1. 文件大小限制不好操作,還是數量限制把。超過100條或者200條,在線預覽也很不方便

      來自廣東 回復
    2. 條數限制不好限制,文件大小限制可能會更可行,要考慮你的實際數據量需求來看

      回復
    3. 導入量挺大,幾萬條都有可能。

      回復
    4. 幾萬條可能要考慮性能問題了,在限制方面可以做好提示和限制

      來自廣東 回復