書式付きの Excel ブックを作成して MIME コンテンツとしてストリーム配信する方法

文書翻訳 文書翻訳
文書番号: 271572 - 対象製品
この記事は、以前は次の ID で公開されていました: JP271572
すべて展開する | すべて折りたたむ

概要

この資料では、ASP (Active Server Pages) を使用して、書式付きデータを含むブックを作成し、Microsoft Excel に MIME コンテンツとしてストリーム配信する方法について説明します。

詳細

Excel 2000 は、ストレージ情報を HTML/XML の混合形式で保存できます。Excel 2000 のブックを Web ページとして保存すると、HTML タグと Excel にとって特別な意味を持つ XML タグが混在したファイルが作成されます。この形式で保存したブックは、ブラウザに読み込むことができ、ブックの整合性を失うことなく Excel で再び読み込むことができます。これを "ラウンドトリップ" といいます。

Web ページとして保存されたブックを Internet Explorer で開くと、HTML タグが読み込まれてドキュメントがレンダリングされます。この形式のブックを Excel で開くと、ブック、ワークシート、行、列に関連する設定情報が XML タグから読み込まれます。Excel 2000 で HTML および XML を使用する場合の関連情報については、以下の MSDN Web サイトの「Microsoft Office HTML and XML Reference」を参照してください。
http://msdn2.microsoft.com/en-us/library/Aa155477(office.10).aspx
ASP を使用して、新しいドキュメントを Excel の HTML/XML 形式で作成することができます。このようなドキュメントがクライアント ブラウザにストリーム配信されると、クライアント側では Excel にドキュメントが表示されます。また、データのセル配置を設定したり、Excel の HTML/XML 形式がサポートしている範囲でブックやワークシートの設定を変更したりすることができます。Excel のブックを HTML/XML 形式で作成して、クライアント側の Excel に MIME コンテンツとしてストリーム配信するには、次の手順を実行します。
  1. メモ帳に次のコードを貼り付けます。
    <%@ Language=VBScript %>
    <%
      ' Check for a value passed on the address bar.
      if (Request.QueryString("i")) = "" then bFirst = true
      ' If we have a value for "i", we know that we can display the
      ' data in Excel.
      if (bFirst = false) then
        ' Buffer the content and send it to Excel.
        Response.Buffer = true
        Response.ContentType = "application/vnd.ms-excel" 
    %>
    <HTML xmlns:x="urn:schemas-microsoft-com:office:excel">
    <HEAD>
    <style>
      <!--table
      @page
         {mso-header-data:"&CMultiplication Table\000ADate\: &D\000APage &P";
    	mso-page-orientation:landscape;}
         br
         {mso-data-placement:same-cell;}
    
      -->
    </style>
      <!--[if gte mso 9]><xml>
       <x:ExcelWorkbook>
        <x:ExcelWorksheets>
         <x:ExcelWorksheet>
          <x:Name>Sample Workbook</x:Name>
          <x:WorksheetOptions>
           <x:Print>
            <x:ValidPrinterInfo/>
           </x:Print>
          </x:WorksheetOptions>
         </x:ExcelWorksheet>
        </x:ExcelWorksheets>
       </x:ExcelWorkbook>
      </xml><![endif]--> 
    </HEAD>
    <BODY>
    <TABLE>
    <%
       ' Build a multiplication table from 1,1 to i,j.
       for i = 1 to CInt(Request.QueryString("i"))
         Response.Write "  <TR>" + vbCrLf
         for j = 1 to CInt(Request.QueryString("j"))
           if (j = 1) or (i = 1) then
             Response.Write "    <TD bgcolor=""#FFF8DC"">"
           else
             Response.Write "    <TD bgcolor=""#B0C4DE"">"
           end if
    	   Response.Write CStr(i*j) + "</TD>" + vbCrLf
         next
         Response.Write "  </TR>" + vbCrLf
       next
    %>
    </BODY>
    </HTML>
    <%
      else
      ' The user hasn't loaded the page yet. Prompt them for
      ' values for the table.
    %>
    <HTML>
    <BODY>
    Please enter indices for the multiplication table:<BR>
    <FORM action="xlmime.asp" method=GET>  
      i = <INPUT type="text" name=i style="WIDTH: 25px"><BR>
      j = <INPUT type="text" name=j style="WIDTH: 25px"><BR><BR/>
      <INPUT type="submit" value="Submit"><BR/>
    </FORM>
    </BODY>
    </HTML>
    <%
      end if
    %>
    					
  2. Web サーバーの仮想ルート ディレクトリに XLMime.asp という名前でファイルを保存します (デフォルトの仮想ルートは C:\Inetpub\Wwwroot です)。
  3. Internet Explorer を起動し、http://YourWebServer/xlmime.asp にアクセスします。YourWebServer には Web サーバーの名前を指定します。
  4. Web ページが表示されたら、ページ上の各テキスト ボックスに数値を入力し、[Submit] をクリックします。Excel がブラウザ内で起動し、新しいブックが作成されます。この新しいブックには、指定した行数 (i) と列数 (j) で構成される書式付きデータが設定されます。また、ブックのページ設定の情報を見ると、印刷の向きが "横" に設定され、独自のヘッダー情報が設定されていることを確認できます。

関連情報

Office アプリケーションへの MIME コンテンツのストリーミングの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
266263 [BUG] MIME の種類を使用してデータのストリーミングを行うと Word 2000 および Excel 2000 で ASP ソースが表示される
199841 [XL2003] MIME の種類を使用して IE 内に Excel で ASP の結果を表示する方法
Office オートメーションの詳細については、以下の Microsoft Office Development サポート サイトを参照してください。
http://support.microsoft.com/ofd

プロパティ

文書番号: 271572 - 最終更新日: 2007年8月14日 - リビジョン: 5.1
この資料は以下の製品について記述したものです。
  • Microsoft Office Excel 2003
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Active Server Pages 4.0
キーワード:?
kbhowto KB271572
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com