MSSQL2005データベースがあります。データはExcelシートからこのデータベースにアップロードされます。これらのExcelシートはさまざまなベンダーから提供されており、それらのほとんどは事前定義された構造を維持していないため、個別の挿入/更新モジュールを作成できます。これまで、事前定義された形式のExcelシートを受け入れ、そこからデータをアップロードするモジュールを作成しました。すべてのベンダーにとって、誰かが事前定義された方法で手動でフォーマットする必要がありますが、これには時間がかかり、ロバの作業です。
これで、手動フォーマットが削除され、すべてのデータベース列が1つの列に配置され、すべてのExcel列を含むドロップダウンが別の列に配置されました。ユーザーは目的の列をマップし、データベースを更新します。
ただし、ほとんどの場合、この単純なマッピングは不十分です。これは、ほとんどの場合、何らかのロジックに基づいて値を分割/結合する必要があるためです。よりユーザーフレンドリーにするために、そして私のユーザーのほとんどはそれ自体がC#プログラマーであるため、ドロップダウンを削除し、ユーザーが直接ロジックを入力できるテキストボックスを使用することにしました。例えば:
dbcol1 = excel[col1].ToString().Replace("-"," ")
+(int.Parse( excel[col6].ToString())*.1).ToString();
これを検索しているときに、C#コードを動的にコンパイルしていることに気付きました。私はこれまでそうしたことがなく、この方法が効率的かどうかもわかりませんので、これで正しい方向に進んでいることを知る必要があります。または、これを行うためのより効率的で高速な方法はありますか?