背景
最近伙伴客戶的項目經理遇見一個問題,他們在給甲方做自動化報表工具,項目已經基本做好了,但拿給最終甲方,業務人員不太買賬,項目經理為此也是天天抓狂,沒有想到合適的應對方案。
現階段主要面臨的問題是項目經理和甲方溝通好了需求,就布置了任務,讓研發去調研。但由于現在市面上報表的形式大同小異,大部分都是用 Excel 來做,難點就在于要開發一個高度類似 Excel 并且還可以應用在 web 端項目上的報表。市面上存在一些軟件級的應用,但是又只能用透視表這些做統計報表分析,和用戶期望的聚合形式多少有差異。而且集成費用成本也比較大,導致項目組的人目前都沒什么頭緒。
解決方法
為了解決這個問題,伙伴客戶的項目經理向小編求助,想問問在前端開發過程中,有沒有用過一種能同時具備 Excel 使用習慣,也能和業務數據庫集成,做出一些業務報表的前端插件。
在尋找解決方案的過程中,小編進行了市場調研,探索了不同的報表生成方式,以確定哪種方式最有可能滿足用戶的期望需求,這里也做下分享:
方式一:使用 Excel 工具
Excel 可以通過擴展機制,對接一些業務數據。用戶可以基于這些業務數據,直接在本地 Excel 利用透視表等方式做出自己想要的報表形式,使用Excel直接做報表存擁有以下優點:
- 熟悉的界面和操作方式,降低學習成本;
- 靈活性高,可以根據需要自定義報表樣式;
- 可以在本地進行數據分析和報表生成,無需依賴其他軟件或平臺。
在目前的市面上,大多數公司都是使用此方法,這也是符合大多數人最好的操作習慣,但從項目的實際落地而言,還是會存在一些難以解決的問題:
- 目前 Excel 仍然是一個獨立的軟件,很難和企業的系統進行融合,目前大多數公司都是將數據從系統中導出,然后再用 Excel 打開之后再進行分析并做報表,最后再把報表上傳到系統中,同時作為一款獨立于系統之外的軟件,系統的數據在被導出到系統之外后也非常容易泄露;
- 目前 Excel 存在多個版本,并且各個版本之間的兼容性也并沒有做到一致,就會導致用不同的版本軟件打開之后會出現不兼容的問題,同時隨著國產辦公軟件 WPS 的崛起,不兼容的問題未來會更加嚴重。
總的而言,Excel 作為全球影響范圍最廣、使用效率最高的軟件,目前仍然是中小企業的第一選擇,但是隨著市面上各大控件產品以及國產辦公軟件的崛起,越來越多的公司和企業也慢慢開始有了新的選擇。
方式二:自研或借助其它報表引擎工具
該方法適合于技術能力較強且公司財力雄厚的企業,針對最終客戶的需求,需要采用類似 Excel 報表的設計形式。若考慮自主開發,首要任務是研發一個適用于 Excel 的功能。對開發人員而言,這可能比僅了解 Excel 擴展 API 又要更加困難。盡管市面上存在一些開源的類 Excel 插件,但其功能相對較為簡單,且不具備用戶所需的報表制作能力。因此,這一途徑的實現成本相當高昂。
另一種方法是借助其他報表引擎工具,這類工具通常具備完善的數據接入能力,通過表單布局形式,同樣可以生成用戶所需的 Excel 報表。若最終客戶僅需查看類似 Excel 的報表形式,或者預算中包含相應的實施及維護費用,那么這些工具具有極高的應用價值。畢竟,對于任何公司而言,能夠輕松創收而又耗費少量精力的事情,幾乎沒有誰會拒絕。然而,若客戶需要根據業務需求自行制作報表,則學習新系統的成本仍然無法回避。
方式三:使用市面上高度類似 Excel 的前端表格控件工具
小編在進行市面上的調研時發現,除了直接用 Excel 和自研之外,其實還有一款非常成熟的前端類 Excel 表格控件 SpreadJS,該產品由西安葡萄城研發,整體上使用起來和Excel非常相似,同時口碑也相當不錯。
SpreadJS 可以兼容 Excel 絕大部分基礎能力,包含了透視表及公式函數,甚至包含了基于數據透視表和圖表的相關統計分析。這就意味著,研發只需要負責開發數據接入接口,業務人員完全可以用以前線下使用 Excel 的方式制作自己想要的報表。
除此之外,SpreadJS 也具備了和主流報表引擎同等的報表制作能力,區別是在報表制作形式上,SpreadJS并沒有選擇市面上常用的表單配置型模式,而是選擇了類 Excel 的報表設計形式,有效減少用戶的學習成本。
上面的動圖是 SpreadJS 報表模塊的操作過程,研發做好數據接入后,業務人員只需要通過拖拉拽相應的字段到單元格位置即可。之后的單元格背景色、文字大小、行高列寬等一系列顯示設置,都可以完全復用類Excel的使用習慣。目前在市面上,這種設計形式可以算是獨一無二了。
SpreadJS 報表機制不同于其它報表的設計在于,用戶可以直接在設計完成的報表上進行數據修改,報表不再只是一種查看態的形式。比如在做員工打分時,呈現給領導的報表,如果領導覺得某個員工的打分不合適,希望能直接對分數做調整,不再需要回到打分系統中,只要開發人員接入好數據回寫接口,即可做到在報表查看態,高權限用戶可直接進行數據修改或錄入,等于說,一部分填報工作可以直接通過報表能力解決(如下圖所示)。
最新技術資源(建議收藏)
https://www.grapecity.com.cn/resources/
總結
綜合來看,以上三種解決方法各有利弊。對于對數據安全性要求較低、業務需求相對簡單的公司,可以選擇方法一;對于技術實力較強的公司和企業,可以考慮方法二;而對于技術能力相對較弱,但需要進行大量數據填報、分析以及保護數據安全,并對 Excel 有強烈依賴的公司,可以考慮方法三,以便更好地滿足用戶需求。
擴展鏈接:
【干貨放送】財務報表勾稽分析要點,一文讀盡!
為什么你的財務報表不出色?推薦你了解這四個設計要點和!
純前端類 Excel 表格控件在報表勾稽分析領域的應用場景解析