无论出于何种原因,我有很多客户拥有存储在电子表格中的现有数据。每个电子表格中通常有数百甚至数千个项目,并且要求客户通过网站手动输入它们(或者天堂禁止我自己以这种方式导入它们)是不可能的。通常,此数据不会简单地将电子表格列映射到数据库列。那太简单了。通常,数据需要在进入数据库之前进行操作(数据需要用逗号分隔等),或者数据需要分布在多个表中。或两者。
我问这个问题,不是因为我不知道有多种方法可以做到这一点,而是因为我还没有找到一种不会觉得需要做更多工作的方法。到目前为止,我已经采用了以下所有方法(可能还有更多我已经忘记的方法):
- 使用Excel修改数据,所以导入更容易一些
- 将整个电子表格导入到临时表中,然后使用 SQL 导入
- 编写脚本并使用它导入数据(我使用过 VBScript、C# 和现在的 Ruby)
到目前为止,使用脚本似乎是最灵活的方式,但仍然感觉有点笨拙。我必须完成这项任务,以至于我什至考虑为它编写一个小 DSL,只是为了加快速度。
但在我这样做之前,我很好奇,有没有更好的方法?