2013-11-23 230 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文件不是数据库。如果你需要允许它作为源输入,解析它,将数据复制到一个真实的数据库并连接到它。

数据库查询和处理信息更加灵活和高效。