0

こんにちは、

顧客から、彼のチームが製品の見積もりを提供するために使用するスプレッドシート ファイルが提供されました。スプレッドシートには、基になるシートに広範なデータがあり、それらのシートを見積もりシートの多数の数式の一部として呼び出します。

ASP.net 3.5 Webフォームを実行する共有環境でホストされているクライアントのWebサイトで見積もりを生成できるように、このツールをWeb対応にすることを任されました。見積もり Web フォームは、ASP.net メンバーシップ API によって制御される Web サイトの制限付き部分にあります。

この種のことでうまくいくサードパーティのツールはありますか?

ありがとう、シド

4

1 に答える 1

4

私はかつて同じようなことをするように頼まれました。私は拒否しました。他の誰かがこれを試しましたが、完全に失敗しました。これは、デザインがスプレッドシートの構造に基づいているためです。

このプロジェクトを手伝うためにコールバックされたとき、私は前のコードを大きなビンに蹴り込みました。それは地獄が凍りつくまで閉じたままになります!次に、Excelシートの分析を開始し、ビジネスロジックを抽出して、ドキュメントとして書き留めました。これにより、Excelシートに基づいておらず、シートのビジネスロジックだけに基づいて、新しいプロジェクトの最初のバージョンをセットアップするための優れたデザインを作成することができました。

この罠に陥る誘惑に負けないでください!簡単すぎるように聞こえますが、実際には、発生するすべての問題のために、解決策としては高すぎるのです。


顧客が本当に高速に使用するものを本当に必要としている場合は、.NET(最新のサービスパック以上のVS2008)とSQLServerから始めてください。まず、引用符を含む単純なデータベース構造を作成します。必要な数のリレーションを追加します。次に、VS2008を使用して、「動的データエンティティ」に基づいて新しいプロジェクトを作成しますEntity Frameworkを使用してデータベースに接続する「Webアプリケーション」。エンティティフレームワークがデータベースに接続され、すべてのデータがデータベースに提供されていることを確認します(「ADO.NETエンティティデータモデル」を追加することにより)。コンパイルします。それをWebサーバーに配置すると、バージョン0.1の準備が整います。これにより、顧客はデータ入力を続行できますが、少し原始的な方法で、すべてのデータの整合性を維持できます。それでも、公開するには十分ではありません。外の世界に移動しますが、Excelスプレッドシートのデータ部分を簡単に削除できます(技術的には、1時間以内にエンティティモデルの周りにRESTfulサービスを追加して、Excelがからデータを読み取れるようにすることも可能です。代わりにWebサービス。)

このスタートページが作成されると、顧客はWebページを介したデータ入力に慣れることができますが、スプレッドシートをもう少し分析してデータモデルを最適化し、データ入力用のカスタムロジックとより優れたページを作成する時間があります。

基本的に、これは私が使用したアプローチです。私の顧客はExcelシートにデータを持っていて、Accessデータベースにエクスポートされ、アプリケーションのユーザーの読み取り専用データとして使用されていました。彼はExcelを使用してデータを最新の状態に保ちました。しかし、複数のユーザーが同じExcelシートのデータを維持し始めたとき、彼は大きな問題に直面し、Excelシートの整合性とデータを何度も失いました。

最初に、エンティティフレームワーク/ DDSを使用してExcelデータの周りに単純なデータモデルを作成し、データ入力を容易にしました。次に、顧客がデータを変更し続けている間にデータベース構造を最適化できました。ときどき、データベース構造を更新し、リレーションを追加し、データを再構築して最適化することもありました。ある時点で、RESTfulサービス機能を追加して、顧客が単純なWebリクエストを通じてデータをXMLとして取得できるようにしました。現在、顧客はExcelシートを完全に忘れており、Webサイトをフルタイムで使用しています。彼はそれをいくつかの豪華なウェブサイトに変えるのに多くの時間がかかるという事実を受け入れましたが、現在の状況はかなり受け入れられます。

このアプローチは、以前の試みが失敗した場合に成功しましたが、それは単にデータのみに焦点を合わせたためであり、それ以上のものではありませんでした。今、私は小さなステップを使用してそれをすべて改善することができます。しかし、ステップ1:Excelシートを分析し、データベースにデータをダンプします。Entity Frameworkを使用すると、多くの労力をかけずに、これを中心に簡単なサイトをすばやく構築できます。

于 2009-09-08T20:47:09.287 に答える