您目前已離線,請等候您的網際網路重新連線

如何在串流 MIME 內容時格式化 Excel 活頁簿

Office 2003 支援已結束

Microsoft 於 2014 年 4 月 8 日結束對 Office 2003 的支援。此變更已影響您的軟體更新和安全性選項。 瞭解這對您的意義為何且如何持續受保護。

結論
本文將告訴您,如何以動態伺服器網頁 (ASP) 來建立格式化活頁簿,而且可用 MIME 內容的形式將此活頁簿串流至 Microsoft Excel。
其他相關資訊
Excel 2000 可用 HTML/XML 混種格式來保存儲存資訊。將 Excel 2000 活頁簿儲存為網頁時,Excel 會建立一檔案,其中含有對 Excel 有特殊意義的 HTML 標籤與 XML 標籤組合。以此格式儲存的活頁簿可從 Excel 送至瀏覽器,然後再回到 Excel (「來回傳送」),而不會喪失活頁簿完整性。

當您在 Internet Explorer 中開啟儲存為網頁的活頁簿時,系統會用 HTML 標記來呈現文件。在 Excel 中開啟此種格式的活頁簿時,Excel 會針對與活頁簿、工作表、資料列和資料欄相關的設定使用 XML 標記。如需有關在 Excel 2000 中使用 HTML 和 XML 的詳細資訊,請參閱下列 MSDN 網站上的<Microsoft Office HTML 和 XML 參考>(英文): 透過 ASP,您就能以 Excel 的 HTML/XML 格式來建立自己的文件,使文件在串流至用戶端瀏覽器時,可讓它在 Excel 中顯示。您可以控制資料的儲存格位置,以及指定 Excel 之 HTML/XML 格式可支援的任何活頁簿或工作表設定。如果要建立採用 HTML/XML 格式的 Excel 活頁簿,然後以 MIME 內容的形式將其串流至用戶端上的 Excel,請依照下列步驟執行:
  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. 以 XLMime.asp 為名,將檔案儲存到網頁伺服器的虛擬根目錄中 (預設的虛擬根目錄為 C:\Inetpub\Wwwroot)。
  3. 啟動 Internet Explorer 並瀏覽至 http://YourWebServer/xlmime.asp,其中的 YourWebServer 代表您的網頁伺服器名稱。
  4. 在出現的網頁中,為每個文字方塊填入數值,然後按一下 [送出]。Excel 隨即在瀏覽器中開啟新的活頁簿。新活頁簿會在您所指定之資料列數 (i) 與資料欄數 (j) 中包含格式化的資料。此外,如果您查看工作表的 [版面設定] 資訊,將會發現列印方向是設定為橫向,並且有自訂標題存在。
参考
如需有關串流 MIME 內容到 Office 應用程式的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
266263BUG:Word 2000 and Excel 2000 Display ASP Source When Using MIME Type to Stream Data
199841 如何使用 MIME 類型在 IE 中以 Excel 顯示 ASP 結果
如需其他有關 Office Automation 的詳細資訊,請造訪 Microsoft Office Development 支援網站:
內容

文章識別碼:271572 - 最後檢閱時間:08/14/2007 03:50:00 - 修訂: 5.1

  • Microsoft Office Excel 2003
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Active Server Pages 4.0
  • kbhowto KB271572
意見反應