2009-06-30 11 views
0

私は、30を超えるワークシートを含む複雑なExcelワークブックを作成する必要があり、それぞれは複数のデータベーステーブルの情報を使用してシートごとに複数のテーブルを動的に描画します。 Excelでの使用にはまったく似ていませんが、私は過去にC#を使用しました。どのようにデータベースをフォーマットし、細胞を動的に位置づけるかに関する勧告は大きな助けになるでしょう。より複雑なExcelワークシートを作成するC#

ありがとうございます。

答えて

2

Office用のVisual Studioツール(VSTO)はあなたの友人です:私はこれを使用して複雑なワークシートを構築しています。これは、CSVからのインポートや、何らかの異様なDB接続を使用するよりも優れています。ここで

は、いくつかの奇妙があるが、これは、行うことは非常に簡単ですいくつかのリンク

です。 Excell MACROレコーダーを使ってアクションを記録し、C#でソースとリプラインメントを調べることは非常に効果的です。オブジェクトモデルはVBとC#の間で全く同じです。

VSTOはVisual Studio 2008に含まれています。私は製品ページを見ましたが、VS2008 C# Express Editionが付いているかどうか判断できません。最も簡単に行うにはちょうどそれをダウンロードして参照してください:)

+0

返信いただきありがとうございます。 私はVisual Studio 2005の教授を使用していますが、VSTO 2005を見つけたりダウンロードしたりすることはできません。あなたが作った提案はまだ使用されていますか?私の質問でより具体的ではないことに非常に残念。 –

+0

これにはビジュアルエディタがありますか、ハードコーディング範囲は、セルと範囲を巧みに配置する唯一の方法です。 –

0

あなたはすでに関連する技術を理解しているように聞こえるので、この答えはフォーマット&のレイアウトに制限されています。

私は10年前と非常に似たようなことをしました。それはしばらくしてきましたが、ここで私が理解したことがあります。

  1. &概要を上にしてください。 (「最終行」合計を含む)
  2. 移動しないシートの上端にある合計セルのベースチャート。
  3. すべての図表、要約などを自分のシートに貼り付けます。
  4. 計算が必要な場合は、ユーザーがステップを実行できるように、プロセスの各ステップを使用可能にします。これにより、コードが仕様に従って計算されていることを証明する無数の時間を費やすことがなくなります。これをしなければ、あなたの「ブラックボックス」の計算は常に質問されます。
  5. 生データを表示したくない場合は、計算だけを行い、非表示のシートにプッシュすることを検討してください。
  6. アプリケーションでテンプレートワークブックを保存してからコピーして、コードではなくXLですべての書式設定を行うことができます。

あなたが本当に避けたいことは、さまざまなセルの場所を把握することです。常に同じ場所にあるセルに値をプッシュしたいとします。

+0

私はdiffucultyを持っている主な領域は、範囲の位置です、例えば、私は5から500行の深さにすることができますテーブルを持っている場合、あなたが返信いただきありがとうございます。その下に開始するテーブルの開始位置を指定しますか? –

+0

"それぞれの行をインクリメントして、その下に開始するテーブルの開始位置を指定するにはどうすればよいですか" - 私の最後の編集をまだ見ていないかもしれませんが、私のポイントはこれをしません。私の答えのヒントは、これを避けるのに役立つはずです。 –

+0

あなたの返事をもう一度ありがとう、私はそれを感謝します。 Excelテンプレートとコードの使用方法に関するサイトへのリンクを提供できますか? –

0

私はExcelで非常に効果的でよく使用されない機能がWebクエリであることがわかります。

ウェブサイトにデータを表示できる場合は、必要に応じてウェブサイトからデータを収集するように設定されたWebクエリを使用してExcelワークブックを作成し、適切なWebページの表形式で表示できます。

ウェブページに引数を渡すためのクエリ文字列パラメータを追加できます。自動リフレッシュや書式設定の保存などを設定できます。ピボットテーブル/グラフはデータを参照することができ、データの更新時にいくつか更新できます例えば、VBAの行。

これは、要件を満たすことができる場合は、VSTOよりはるかに単純なソリューションです。

もう1つのオプションは、サードパーティのExcelファイル生成アセンブリを使用することです。

+0

残念ながら、このプロジェクトではExcelのみを使用する必要がありますが、他の誰かがこの情報を参考にしていると確信しています。私が知りたいのは、サーバテーブルを構築し、配置するための確立された方法があるかどうかです.VSTOやWebサイトが使用できない場合は、それぞれ異なるサイズとフォーマットが可能です。 –

+0

なぜVSTOは使用できないのですか? –