How To Create an Office Document in an ASP Application (301044)



The information in this article applies to:

  • Microsoft Office 2000 Developer
  • Microsoft Office XP Developer
  • Microsoft Internet Explorer (Programming) 5
  • Microsoft Internet Explorer (Programming) 5.01
  • Microsoft Internet Explorer (Programming) 5.5
  • Microsoft Active Server Pages

This article was previously published under Q301044

SUMMARY

This step-by-step article discusses how you can create a text-based document with Active Server Pages (ASP) and stream the document to the client using an Office Multipurpose Internet Mail Extensions (MIME) type. The text-based format demonstrated in this article is HTML and the document is displayed by using the Excel and Word MIME types. There are several text-based formats that you can use to create Office documents using the same technique presented in this article.

You can create text-based documents for Excel by using the following formats:
  • Comma-separated (.csv)
  • Tab-delimited (.txt)
  • HTML
  • XML (Excel 2002)
Likewise, you can create text-based documents for Word by using the following formats:

  • Text
  • HTML
  • Rich Text Format (.rtf)

How to Create the Script

  1. Start any text or HTML editor and paste the following code into the editor:
    <%@ Language=VBScript %>
    <%
       Dim r, Amount, Tax
    
       'Change HTML header to specify Excel's MIME content type.
       Response.Buffer = TRUE
       Response.ContentType = "application/vnd.ms-excel"
    %>
    <HTML>
    <BODY>
      <TABLE>
        <TR>
          <TD><B>Order #</B></TD>
          <TD WIDTH="120" ALIGN="Right"><B>Amount</B></TD>
          <TD WIDTH="120" ALIGN="Right"><B>Tax</B></TD>
        </TR>
        <% For r= 1 to 20 %>
        <TR>
          <TD><%=r%></TD>
          <% Amount = FormatCurrency(Rnd()*1000,2) %>
          <TD><%=Amount%></TD>
          <% Tax = FormatCurrency(Amount*0.07,2) %>
          <TD><%=Tax%></TR>
        <% Next %>
        <TR>
          <TD>&#xa0;</TD>
        </TR>
        <TR>
          <TD>&#xa0;</TD><TD>=SUM(B2:B21)</TD><TD>=SUM(C2:C21)</TD>
        </TR>
      </TABLE>
    </BODY>
    </HTML>
    					
  2. Save the new script as Exceldoc.asp in the virtual root folder of your Web server. The default root is C:\Inetpub\Wwwroot.
back to the top

How to Run the Script

  1. Start Microsoft Internet Explorer.
  2. In the address bar, type http://YourWebServer/ExcelDoc.asp (where YourWebServer is the name of your Web server) and press ENTER.
  3. After the table is opened in Excel, examine the results. Note the formatting and the formulas in cells B23 and C23.
back to the top

How to Try It Again

Next, modify the script so that the the document opens in Word instead of Excel:

  1. In the script, modify the MIME type as follows:
       Response.ContentType = "application/msword"
       
    					
  2. Save the modified document in the virtual root folder of your Web server as Worddoc.asp.
  3. Start Internet Explorer and browse to http://YourWebServer/WordDoc.asp (where YourWebServer is the name of your Web server).
back to the top

Toubleshooting

Using a text-based format for your Office documents can provide a solution on your Web server that is very scalable and provides good performance. A disadvantage of using text-based formats is that you are limited in the Office features that you can use. Some developers may choose to use Automation for Office document creation; although Automation in a client-side environment gives you the greatest flexibility in exploiting all the features that are available in Office, it can generate some problems for a server-side application. If you find that using a text-based document format does not deliver the level of document creation you need, you may want to see the following Knowledge Base article to determine if Automation might be a solution that is right for you:

257757 INFO: Considerations for Server-Side Automation of Office

back to the top

REFERENCES

For more information, see the following Microsoft Developer Network (MSDN) Web site: back to the top

Modification Type:MajorLast Reviewed:5/5/2006
Keywords:kbhowto kbHOWTOmaster KB301044 kbAudDeveloper