0

テンプレートに書式設定された SQL クエリの結果を Excel にエクスポートしたいと考えています。

基本的に、ユーザーがデータ行をクリックすると、その特定のパラメーターに対してクエリが実行され、Excel ファイルに保存するオプションがユーザーに与えられます。

  1. このデータを Excel テンプレートに挿入する方法を教えてください。
  2. キャンセルされたファイルが保存されない場合に、Excel ファイルを場所に保存せずにユーザーにプロンプ​​トを表示することはできますか?

乾杯

明細書

4

3 に答える 3

0

.xlsではなく、クエリによって返された結果から実行時にC#で.csvファイルを作成することをお勧めします

.csvファイルはExcelで開くことができるため、最後にアプリケーションとしてExcelを引き続き使用できます。

csvファイルが作成されたら、次のようにExcelで開くことができますSystem.Diagnostics.Process.Start("yourExcelFile.xls");

また、このリンクを参照してください。したがって、AutomationofOfficeの使用はお勧めしませんでした。

http://support.microsoft.com/kb/257757から抜粋した段落Microsoftは現在、無人の非対話型クライアントアプリケーションまたはコンポーネント(ASP、ASP.NETを含む)からのMicrosoft Officeアプリケーションの自動化を推奨しておらず、サポートしていません。 、DCOM、およびNTサービス)。Officeをこの環境で実行すると、Officeが不安定な動作やデッドロックを示す可能性があるためです。

于 2012-07-19T10:41:55.657 に答える
0

通常のソリューションを使用して、SQLサーバーからExcelにデータを取得します(行と列として)が、返されたデータをテンプレートとは異なるワークシートに入れます。

http://blogs.office.com/b/microsoft-excel/archive/2010/06/07/running-a-sql-stored-procedure-from-excel-no-vba.aspx
http://codebyjoshua.blogspot .com.au/2012/01/get-data-from-sql-server-stored.html

データが Excel に取り込まれたら、テンプレート ワークシートで、各データ項目のデータ シートへのリンクを使用するだけです ('=Sheet2!A6')。


h番目のマケレックス

于 2012-08-20T10:34:14.060 に答える
0

このようなことを行うには、Excel シートの背後に VBA コードを記述することをお勧めします (Alt F11 を押すと、コーディング ウィンドウが表示されます)。

次に、ストアド プロシージャを呼び出すコードを記述します (下のリンクの VBA サンプル)。

http://support.microsoft.com/kb/185125

データを取得したら、シートに入力するのではなく、直接ファイルに保存することは難しくありません。

于 2012-07-19T15:36:44.887 に答える