天天看點

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

作者:人人都是産品經理
在上一篇文章中,我們分享了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 協定。

繼續閱讀