我们有一个 MS SQL 2005 数据库。数据从 Excel 表格上传到此数据库。这些 Excel 表格来自不同的供应商,其中大多数从不维护预定义的结构,因此我们可以创建单独的插入/更新模块。到目前为止,我已经创建了一个模块,它接受预定义格式的 Excel 工作表并从中上传数据。对于每个供应商,都必须手动以预定义的方式对其进行格式化,这需要很长时间并且是一项艰巨的工作。
现在我们删除了手动格式并将所有数据库列放在一个列中,并将包含所有 Excel 列的下拉列表放在另一列中。用户映射所需的列并更新数据库。
但是大多数时候这个简单的映射是不够的,因为大多数时候我们必须根据一些逻辑来拆分/组合值。为了使其更加用户友好,并且由于我的大多数用户自己都是 C# 程序员,我决定删除下拉菜单并使用用户可以直接输入逻辑的文本框。例如:
dbcol1 = excel[col1].ToString().Replace("-"," ")
+(int.Parse( excel[col6].ToString())*.1).ToString();
在搜索这个时,我遇到了动态编译 C# 代码。由于我以前从未这样做过,而且我不确定这种方法是否有效,我需要知道我是否朝着正确的方向前进。或者有没有更有效和更快的方法来做到这一点?