如何輕松搞定導出功能設計

2 評論 6894 瀏覽 74 收藏 15 分鐘

在上一篇文章中,我們分享了excel的導入功能設計。那文件的導出,是不是也有這么多需要注意的點呢?確實是。這篇文章,我們就來詳細看看,在做導出功能時,都有哪些需要注意的點。

導出功能也是相當常見,需要關注的點也很常規。

但是,只有小功能,沒有小需求。

往細了摳,注意點也是有很多的,我們展開說說。

01 導出前

最重要的一點:是否涉及到敏感數據?

  • 個人信息相關的:身份證號、手機號、住址、姓名等
  • 機構的關鍵性數據:這就多了,金融類中的交易流水、客戶信息等,教育類中的學生信息、醫療類的患者病歷、處方信息等等。

比如我之前做醫院業務的時候,院方不定期讓我們導出很大量處方數據,系統導出時都是掛,所以我們只能數據庫導出。

但是「處方數據」完全是敏感數據,涉及到統方。

讓我們導敏感數據,一旦數據泄露就會有很大風險,所以每次導出,我們都會讓現場實施人員找藥劑科、信息科簽字,然后我司內部再找領導們簽字。最后將數據加密后提供出去。

02 為什么導出?

導出數據的目的是對導出的內容進行二次處理,絕對不是導出完成就結束了。

比如:

1、導出后數據進行數據分析

比如導出excel后后然后進行數據分析,查詢功能無法滿足需求時,則導出數據,人工進行數據分析。B端數據導出是一個非常常見的功能。

2、導出數據處理后再導入

我之前做醫療數據時,醫院需要每月上傳數據至國家監管平臺。我們系統可以按照監管平臺支持的導入格式進行導出,然后醫院工作人員再將導出的數據導入到國家監管平臺中。

3、導出數據打印

比如導出word單,然后打印出來進行留存或者是線下填寫。

4、導出數據后分享數據

比如剪映剪輯完視頻后,將視頻再發送到抖音。

總之,導出只是其中一個階段,接著會跨系統進行處理,使用其它的處理軟件二次處理數據,涉及到使用其它軟件,就需要按照其他軟件能夠支持的方式進行處理。

最基本的一點就是導出格式。

03 導出格式

導出的格式太多了,docx、xlsx、pptx、pdf、jpg、mp4等等~

文件格式有哪些,導出的格式就有哪些。

我們看下常見的導出格式:

docx、doc、xlsx、xls、csv、pdf

我們需要根據導出文件的應用場景,以及每個格式的特性、使用頻率、兼容型等方面,確定導出的格式。

這就涉及到 2 種方式:

1)固定導出格式

導出的格式固定,如導出excel就是導出xlsx格式。這種方式是最常見的,對于后臺產品,當涉及到導出報表數據時,直接使用xlsx,問題都不大。

2)用戶自定義導出

格式結合能用戶滿足二次處理的格式,讓用戶選擇自己想要的格式。對于很多工具類產品,為了支持用戶多樣化的處理方式,導出的格式都是可以選擇的。

我之前遇到過一個場景,有些醫院的電腦還是xp系統,只有Excel2003。我們系統只能導出xlsx格式,但是Excel2003打不開xlsx格式。

再結合其它原因,最后我們做了個可以選擇導出 xls 或 xlsx 格式的功能。

04 導出文件劃分

是指把文件劃分出層級。比如導出excel,可以同時導出多個文件,每個文件內1個sheet頁。也可以導出一個文件、文件中有多個excel。

對于文件層架劃分,可以分為2種情況:

1)從需求設計考慮

根據需求方案,確定導出文件的層級。

如導出時需要同時導出2份表格數據,一份是統計結果,一份是統計明細,我們可以導出一份Excel文件,文件內有2個sheet頁。

當同時導出多個文件時,可以采用導出壓縮包zip的方式。

我曾經遇到個需求:藥師在查房時,需要使用紙質的「臨床藥師查房記錄表」。先打印出含有患者信息的記錄表,然后再查房時拿筆填寫。這就要求我們系統可以導出記錄表,由于藥師還會存在編輯電子版的需求。

所以我們將導出格式定為docx。

對于導出word的層級,這就涉及到2種情況:

  1. 多個患者信息導出到一個word文件,涉及到跨頁時,每個患者通過分頁符另起一個新頁。
  2. 一個患者導出一個word文件,同時導出多個時,導出壓縮包。

最終我們使用的是多個患者導出到同一個word文件中,滿足用戶批量打印,同時在一個word文件可編輯電子版信息,不用打開很多個。

2)從性能考慮

在導出文件時不可避免的會有很大數據量的情況,會存在導出時間過長,導出文件體積過大的情況。

我們以「導出excel」需求為例,在導出時,研發一定會問最大可以導出多少行?

這個時候產品經理可以評估,導出數據量的會有多少行,確定一個最大行數。

對于行數,我提需求都是最多5000行,但是這個并不是標準,需要結合導出是同步還是異步、服務器性能等角度一起判斷 。

但是這個時候存在一個問題:當導出數據超過最大行數時如何處理?

可以只導出前5000行,或者是后5000行??墒沁@樣導出的數據就缺了一部分,保證不了數據完整性。

對于這種情況,我們可以采用2種方式:

1)當超過最大行時,再導出一個文件1-5000行數據是一個文件,5001-10000行是另一個文件,?最終導出一個含有多個文件的壓縮包。適合導出列數較多的情況,每個文件體積較小。

2)超過行數時,劃分sheet頁。sheet頁1是1-5000行數據,sheet2頁是5001-10000行數據,最終導出一個xlsx文件。適合需要通過來回對比的數據,通過切換sheet頁即可。

最終選擇的方式,大家根據實際需求自己判斷就好。

在這個時候,需要確定導出文件的默認名稱,我一般是默認名稱 + 導出時間。

05 導出權限

在剛開始我就就提到了數據的敏感性,為了保證數據的安全性,不可避免的涉及到數據的權限。

對于數據權限分為:

1)角色功能權限

權限控制到按鈕級別,確定哪些用戶或角色有權進行數據導出操作。

2)數據范圍限制

確保用戶只能導出其具有權限的數據??梢酝ㄟ^基于角色或數據所有者的權限進行限制,實現數據范圍的過濾,確保用戶只能導出其特定范圍的數據。比如說店長只能導出自己店鋪的數據;區域管理員可以導出所管區域的數據。

3)導出字段限制

限制用戶在導出文件中可以看到的字段。

如導出Excel時只能導出權限范圍內的列數據,讓導出的數據不具備完整性。

比如說銷售數據,普通店員可以看到銷量,對于店長,可以看到銷量、毛利率。

同時,還有對導出頻次的限制,導出數據的日期范圍限制、導出日志記錄等,大家都可以考慮在內,在這不贅述了。

06 導出模板的制定

當導出的內容涉及到固定格式的時候,產品經理有必要明確最終導出內容的格式。

確定具體的格式排版,導出的字段名稱、每個字段的取值來源、每個字段顯示的格式等等。

提供出一個含有解釋說明的導出模板,讓研發對著導出模板開發,讓測試對著導出模板測試。

對于Excel導出:

1、確定導出的內容有什么:

  1. 文件內是否有報表名稱?
  2. 文件內是否要添加導出數據的導出范圍、字段解釋?
  3. 如果導出的數據用于批量修改再重新導入,是否需要把導入模板中的說明同步在導出模板里也加上。
  4. 確定導出表格的表頭,列名是什么?列名如何排列?

2、確定每行數據展示邏輯是什么:

  1. 當查出多行時,是否需要合并上下行?
  2. 數據在excel中的排序是什么?

3、每個字段的展示邏輯是什么:

1)當一個字段中會有多個值時是分單元格展示,還是拼接展示在一個單元格中。

2)如果單元格字段需要拼接,拼接的格式是什么?

3)當數據庫中存的是枚舉值,需要怎么轉換?如「是否刪除」,數據庫存的是0、1,0代表否,1代表是;那導出的excel中展示為「是、否」還是展示成「已刪除、未刪除」。

對于Word格式:我采用的方式是確定好導出模板,然后通過「文檔內說明 + 批注」的方式,對每個字段進行解釋說明。示例如下圖:

07 導出的交互方式

在確定導出的功能交互方式前,會直接影響交互方式的就是導出的處理方式:

同步下載 or 異步下載

同步:

導出開始后,用戶只能等待導出完成后才能進行其它操作。適合文件較小、導出時間較短的情況。

開發周期短。

異步:

導出開始后,可以去進行其它操作,不會影響在頁面中的其它操作。

適合大文件下載、下載過程中需要進行其它操作時,可以選用這種方法。但是開發周期比同步下載開發周期長。

另外,在web瀏覽器的導出和客戶端的導出也會有些不同,一般有以下方式:

1)交互方式1:

同步下載 +?web端:

選擇數據 → 導出數據 → 調用瀏覽器下載  →  頁面加載 → 下載完成

同步下載 + 客戶端:

選擇數據 → 選擇存入的系統文件夾 → 客戶端下載數據  →  頁面加載 → 下載完成

2)方式2:

異步下載 +?web端:

選擇數據 → 導出數據 → 程序后臺進行處理數據 → 處理完成后發出通知 → 用戶選擇下載 → 調用瀏覽器下載

異步下載?+?客戶端:

選擇數據 → 導出數據 → 程序后臺進行處理數據 → 處理完成后發出通知 → 用戶選擇下載 → 選擇存入的系統文件夾 → 下載完成

常規的交互方式一般是這些,當涉及到修改導出文件名稱、選擇導出字段范圍、導出格式的選擇時,在流程中添加步驟即可。

總結

我們說了導出文件的一些內容,在實際場景中還是有很多情況要注意,我一直堅定的相信:只有小功能,沒有小需求。

在做產品設計時,再小的功能也需要好好思考。

本文由人人都是產品經理作者【王大鹿】,微信公眾號:【產品大鹿】,原創/授權 發布于人人都是產品經理,未經許可,禁止轉載。

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

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 棒棒噠,本來需要自己研究設計3小時的東西,有了這篇文章參考之后30分鐘搞定,剩下時間就可以摸魚了。感謝分享

    來自云南 回復
  2. 文章很贊

    來自廣東 回復