2013-11-23 231 views
1

我目前正在Ruby on Rails中做一個項目,並且我遇到了兩難困境。Ruby on Rails - 數據庫或excel

困境是我的系統的用戶將上傳一個excel電子表格。問題是我應該直接從這個excel電子表格讀入我的前端,還是應該將這個電子表格加載到我的MySQL數據庫中,然後加載到我的前端。

我已經問了很多人關於這個問題,並已在線研究無濟於事。

任何幫助將不勝感激。

+0

您是否考慮過使用Google Drive API?您的用戶可以編輯Google Docs上的電子表格,並且您將使用API​​訪問數據。下面是一個提供示例的應用程序:https://github.com/RailsApps/learn-rails –

+0

不幸的是,我非常喜歡使用該API我不能作爲將被上傳到我的系統的電子表格通過使用來自另一個數據庫的宏來創建。不幸的是,我沒有(不會被給予)訪問在數據庫,所以我堅持與Excel文件。 – Stephen

回答

1

我可以想到讓他們上傳Excel電子表格以供後端處理的兩個好處,或者更確切地說,

1)將用於您的跟蹤目的(誰發送了什麼,這是後端用它做了什麼...)。事實上認爲可以引入其他格式/版本,讓他們確定哪裏出了問題是否很重要? 「我們如何處理這種新格式」?

2)另一方面,前端方式,即從後端卸載處理,但這意味着瀏覽器應用程序可能會相當複雜,並且取決於您的excel,也就是說,如果它具有許多關係,將數據發送到服務器可能會很複雜。然而,如果只是一個簡單的電子表格,說簡單的行沒有總計/稅收calc/...,那麼它可能是一個優點,將其加載到瀏覽器中,然後將這些行發送到服務器,如果卸載處理是重要的。

然而,第2點真的被第1點所稀釋,這對我來說對未來這項服務的遷移來說更重要。所以我個人會選擇上傳並在後端進行處理。

更新

當您在留言澄清,如果你問在後臺的數據庫使用的Excel?我同意Simone Carletti在這裏的答案。也許只是添加一個真正的數據庫可以爲您提供更多的靈活性,更多的工具和更多的性能這個區別是加載一個文件,將它解析成一些結構,然後保存它(除非你使用了一些.NET框架,即使數據庫(MySQL,MongoDB ...)會給你更多的結構和查詢的靈活性,您可能只想寫一個樣本來評估,數據庫解決方案可能會贏得您的支持

+0

這兩個答案都非常有意義,但是我沒有那麼清楚,基本上問題是我應該使用excel作爲數據庫還是將excel數據解析爲真正的數據庫。 – Stephen

2

Excel文件不是數據庫。如果你需要允許它作爲源輸入,解析它,將數據複製到一個真實的數據庫並連接到它。

數據庫查詢和處理信息更加靈活和高效。