B端產品設計——批量導入

35 評論 56735 瀏覽 426 收藏 9 分鐘

編輯導讀:批量導入是用戶在工作中經常需要用到的功能,如何優化這個功能提升用戶體驗呢?本文將從兩個方面展開分析,希望對你有幫助。

最近工作過程中,涉及到兩次批量上傳文件的設計,也存在一些異常情況等的困惑,參考了一切B端產品進行總結。

本次總結,參考了:釘釘、有贊、草料二維碼、企業微信等產品和部分文章進行輸出。

一、使用場景

    1. 一次性需填寫的字段數量多,在excel中復制填寫速度快;
    2. 數據多,重復提交浪費時間。

二、批量導入

1. 如何降低導入時錯誤概率?

1)提供下載模板

在列表頁同時出現下載模板和批量上傳按鈕:

只出現批量上傳按鈕,在批量上傳彈窗提供下載模板:

此處推薦第二種方式。第一種方式在點擊批量上傳時沒有模板,需重新關閉點擊下載模板。且下載模板的這一動作僅存在需批量導入時執行,一直置于列表頁的話,本身操作就多的列表頁又增加了一個按鈕。

2)模板最好由產品/交互進行設計,重點要寫清填寫規則,避免規則不清晰導致用戶填寫錯誤

釘釘-批量導入:

企業微信-批量導入:

有贊-批量導入商品:

草料-批量導入:

模板設計要點:

  • 標明必填、選填
  • 對不可修改字段進行強調,避免用戶隨意輸入
  • 時間格式的規范,2020-07-19,還是2020/07/19,還是2020.07.19,雖然后端可以幾種格式都進行識別,但用戶的輸入可能遠遠不止三種,設計/后端無法對每種情況都進行排查,所以還是進行提示較好
  • 特殊符號的限制,例如中文和英文的逗號、括號在代碼中不同的,如果沒有進行雙重識別,最好還是提示用戶按什么語言輸入
  • 在模板中根據標準,填寫一行“較為真實”的數據,提供用戶“抄寫/模仿”

3)對于固定選項的字段,提供選擇,而非輸入(在模板設計時進行)

2. 上傳情況有哪些?如何進行設計?

1)文件類型、大小

  1. 一般僅支持.xls 和 .xlxs 格式
  2. 文件大小看校驗能力以及等待時長。為了節省服務器的空間和提高文件傳輸的速度,需要限制上傳文件的大小。建議不要過大,目前我設置為2M的大?。ㄟ@一點我不是很確定,與研發同事進行溝通,由于部分字段需進行校驗判斷,數據量大的時候會導致傳輸速度非常慢,因此2M是合理的范圍)

2)部分成功、部分失敗

對于部分成功、部分失敗的數據而言,有兩種方式。一為支持錯誤信息在平臺上直接修改后保存,另一種為提供錯誤清單,重新上傳。

前者開發較繁雜,一旦涉及數據量大時,修改起來比較耗時,且容易再次出錯。

設計要點:

  • 提示成功上傳n條,失敗m條,提供<錯誤清單.xls>
  • 錯誤清單除了包括錯誤的數據,還需包括錯誤原因,例如:必填項漏填、填寫錯誤、號碼已存在、編號重復等。如果一條數據存在多處錯誤,通常程序只顯示第一個錯誤原因,再次上傳,再次提示另外的錯誤,直至正確為止。也可以一次性提示多個錯誤,開發同事拿著刀在等著而已。
  • 除了錯誤清單外,系統也可以直接在上傳后顯示錯誤的行數、信息。用戶可以直接在原本的文件上進行修改,不需要進行下載<錯誤清單.xls>操作

3)列名與模板不一致/列的順序不一致?

釘釘:釘釘是默認第幾行是什么字段,與字段名無關。

例如第二行與第三行列名換了,但內容是對的,仍會上傳失敗。若手機號那一列寫的是姓名,則會上傳成功。

其它為識別列名,若列名錯誤,則提示錯誤。

無論哪一種都可以,但比較推薦識別列名。比較符合認知,及時列的順序反了,仍能識別正確。

4)頂部填寫須知去除后,是否支持上傳成功?

  1. 釘釘:提示:文件列名不能被修改或刪除,請重新導出模板
  2. 企業微信:上傳成功

5)錯誤表單怎么設計?

提供每一條錯誤數據的錯誤原因。

6)數據重復,選擇覆蓋/跳過/上傳失敗?

根據不同場景,進行選擇:

  • 若沒有提供錯誤清單,則直接上傳失敗。避免用戶得將表里面正確的數據去除,再修改錯誤的數據,不如一次性不上傳;
  • 若是覆蓋后不會造成影響,可以進行覆蓋。例如員工的信息等;
  • 若是數據編號重復,會造成各種影響,或者直接不能編號重復的數據,則進行跳過,最后在錯誤清單中提示:編號錯誤即可。

例如,本次工作中,導入的數據會傳到第三方的平臺,數據一直都是不變的,正確即可上傳第三方平臺。那么就不存在去覆蓋舊數據的可能。

雖然在B端產品中處處可見導入導出,但細究起來,仍還有很多點沒有涉及到。目前僅是針對工作內容進行的拓展學習,可能還有部分坑沒有躺過,可以進行交流。

B端的其中一個價值為提高效率,讓導入導出更好用,更人性化、智能,才能提高使用效率。

 

本文由 @weag 原創發布于人人都是產品經理,未經作者許可,禁止轉載。

題圖來自Unsplash,基于CC0協議。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 若批量導入一對多的關系,如何處理,導入模板等應如何設置。比如:一個組下包含多名成員

    來自北京 回復
    1. 針對樓主這個問題我也想了解,期盼作者大大回復。

      來自廣東 回復
    2. 直接傳入多行,不校驗組的重復
      例如A組下包含J、K、L三個人,可以傳入三行:A-J A-K A-L,不去校驗A的重復

      來自北京 回復
  2. 很有幫助,期待新的文章!

    來自上海 回復
  3. 看到一個公眾號抄了這個

    來自北京 回復
    1. 誒?方便告知哪一個嗎

      來自浙江 回復
  4. 你好,我想問一下,假如在導入時,可能會出現一種情況就是,導入字段會因為某個分類不同而改變,分類信息和這個字段都是必填項,這時候如果根據分類進行模板劃分,會造成導入模板很多,導致最后用戶的體驗很不好,請問這個情況該怎么解決呢

    來自四川 回復
    1. 就比如說一個耗材當選擇了規格類型為設備時,這個耗材對應的規格字段是設備,選擇其他,對應規格是顏色+規格,這里面規格類型,規格字段都是必填項哈,這種情況如何處理呢

      來自四川 回復
    2. 這個得取決于場景。一張表格中,分類存在不同的場景多呢?還是分類只有1個的場景多。 如果是后者的話,考慮把分類前置是ok的,可參考有贊的導入商品。如果更多是一次上傳就可以多種分類,那么在表格上的設計多花點心思。在程序解析上,如果為設備,則忽略到部分字段也是可以的。

      來自廣東 回復
    3. 好的,分類不會存在多種場景,然后我的思路就是有兩種,一種就是模板中填寫所有字段信息,然后導入的時候由后端判斷,根據規格型號與規格參數是否匹配來決定;第二種就是因為通用情況也就是大部分情況規格參數就只有規格,所有我建了三個模板,一個通用的,兩個非通用,這樣在最開始人為劃分了

      來自四川 回復
  5. 太強了,正好需要!

    來自浙江 回復
  6. 你好,想請問下,如果需要導入帶有合并單元格的EXCEL,同時希望導入后頁面展示的也是帶有合并單元格的,能實現嗎?

    來自湖北 回復
  7. 請教一下,用哪種方式批量導入圖片,比較高效呢?

    來自廣東 回復
    1. 批量導入圖片的話,我們現階段是這樣做的:假設商品A、B各有5張主圖,現在有個場景是,我需要批量更新A、B商品的主圖。
      功能的設計:
      1.用戶上傳rar格式的壓縮包,壓縮包中是商品A、B的主圖,圖片文件采用(商品ID+序號)的方式命名。商品ID用于確認該圖片是歸屬于A還是歸屬于B,序號是確定該圖片在商品主圖中的順序。
      2.壓縮包上傳成功,系統開始解析讀取壓縮包的文件。
      3.解析成功之后,執行替換更新操作,通過商品ID和序號,替換對應位置下的商品主圖!

      回復
  8. 若導入的時候錯誤,怎樣提示好一點,以及如何處理錯誤數據,覆蓋還是新增,用戶可以選擇的話如何選擇體驗最好

    來自福建 回復
    1. 錯誤的場景有很多,需要一個一個整理出來如網絡崩潰、格式錯誤

      來自山東 回復
  9. 電商后臺商品分類

    回復
  10. 謝謝!!很有幫助?。?!

    來自四川 回復
  11. 其實還有一個問題,導入過程刷新頁面如何處理

    來自廣東 回復
    1. 不知道你有什么好的思路。
      之前考慮過這個異常case。問過我司開發,回復是,導入表格后,客戶端刷新了,服務端仍會執行代碼。只是說用戶無法知道執行結果?;诖?,在前端加了個刷新的判斷,如果監聽到刷新事件,就彈窗告知。

      來自廣東 回復
    2. 搞個導入任務列表就行了,告知用戶當前有任務正在執行,可以看是什么文件以及目前執行進度

      來自廣東 回復
  12. 現在就有個需求,訂單導入的,但不同的訂單類型字段是不一樣的,如果設計成一個模板,就會有很多空字段,并且要加很多字段說明,如果按訂單類型分拆成多個模板,模板又會很多,像這種情況怎么設計會比較好?

    來自廣東 回復
    1. 暫不了解具體需求和場景,輸出是如何顯示的,輸入也保持一致即可。
      同時考慮,是單種訂單類型導入的場景多,還是存在多種訂單類型導入的場景多。
      Q1:訂單為什么需要導入?
      Q2:字段的數量是如何的?不同模板之間的差別是如何的?
      Q3:訂單類型模板很多是多少?

      來自廣東 回復
  13. 是否需要考慮限制每次批量導入的行數量?多少為宜,或者有沒技術限制?

    來自廣東 回復
    1. 根據使用場景來,若場景需要數據量級比較大/數據判斷復雜時,可以與研發同事進行討論。從技術層面能一次性上傳多少數據量級以及用戶的等待時間?;蛘咦寽y試同學壓力測下,是否符合產品方的需求
      目前我還沒多大接觸過極限值的情況,無法給出很好的答復

      來自廣東 回復
    2. 要考慮實際的業務情況,如果實際應用場景確實需要一次導入超大量級的數據,可以考慮異步處理,通過消息等方式返回處理結果通知。這樣用戶就不需要在操作頁面等待太久。

      來自北京 回復
  14. 如何更好的解決導入的模板里面有些選擇內容不固定的問題呢

    回復
    1. 選擇內容不固定指的是?文中寫的提供的選項,是取值固定時才用的選擇。如果不固定的自然還是以輸入為主

      來自廣東 回復
  15. 我最近做了兩個批量導入功能,上傳文件后校驗成功的數據可以直接導入,不必再點一次確認導入(正確的數據不會也不必顯示出來讓用戶確認),只要提供一個校驗失敗數據的下載按鈕即可。這樣做的好處是節省了一次點擊

    回復
    1. 謝謝提出建議~

      來自廣東 回復
    2. 得看數據的重要程度,如果是特別重要的數據。建議增加上傳后的預覽功能,并且讓用戶再次確認,避免誤操作。

      來自北京 回復
    3. 今天評審完了,我發現一次就行了,因為已經校驗過了,用戶也沒必要再去確認一下。也對用戶上傳之前的核對提出了要求。

      來自山東 回復
  16. 不錯

    回復
    1. 謝謝。持續學習,持續輸出。

      來自廣東 回復
  17. 整理輸出是個好習慣

    來自浙江 回復