我尝试使用以下代码生成word文档:

    HttpContext.Current.Response.Clear();
    HttpContext.Current.Response.Charset = "";

    HttpContext.Current.Response.ContentType = "application/doc";
    HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;
    filename=" + DateTime.Now + ".doc");

    var strHTMLContent = new StringBuilder();

    strHTMLContent.Append(
        "<h1 title='Heading' align='Center'style='font-family: verdana; font
    -size: 80 % ;color: black'><u>Document Heading</u> </h1> ");

    strHTMLContent.Append("<br>");
    strHTMLContent.Append("<table align='Center'>");

    // Row with Column headers
    strHTMLContent.Append("<tr>");
    strHTMLContent.Append("<td style='width:100px; background:# 99CC00'>
   <b>Column1 </b>  </td>");

    strHTMLContent.Append("<td style='width:100px;background:# 99CC00'>
   <b>Column2 </b>  </td>");

    strHTMLContent.Append("<td style='width:100px; background:# 99CC00'>
   <b>Column 3</b></td>");
    strHTMLContent.Append(" </tr> ");

    // First Row Data
    strHTMLContent.Append("<tr>");
    strHTMLContent.Append(
        "<td style='width:100px'></td>");
    strHTMLContent.Append(
        "<td style='width:100px'>b</td>");
    strHTMLContent.Append(
        "<td style='width:100px'>c</td>");
    strHTMLContent.Append("</tr>");

    // Second Row Data
    strHTMLContent.Append("<tr>");
    strHTMLContent.Append(
        "<td style='width:100px'>d</td>");
    strHTMLContent.Append(
        "<td style='width:100px'>e</td>");
    strHTMLContent.Append(
        "<td style='width:100px'>f</td>");
    strHTMLContent.Append("</tr>");

    strHTMLContent.Append("</table>");

    strHTMLContent.Append("<br><br>");
    strHTMLContent.Append(
        "<p align='Center'> Note : This is a dynamically
                generated word document  </p> ");
    HttpContext.Current.Response.Write(strHTMLContent);
    //  HttpContext.Current.Response.BinaryWrite(strHTMLContent);
    HttpContext.Current.Response.End();
    HttpContext.Current.Response.Flush();

它工作正常,但我想使其横向并在打印布局中,因为它出现在 Web 布局中
有谁能够帮我?

最佳答案

我找到了解决方案 in this post 。像这样解决:

Response.Write("<html>")
Response.Write("<head>")
Response.Write("<META HTTP-EQUIV=""Content-Type"" CONTENT=""text/html;
charset=UTF-8"">")
Response.Write("<meta name=ProgId content=Word.Document>")
Response.Write("<meta name=Generator content=""Microsoft Word 9"">")
Response.Write("<meta name=Originator content=""Microsoft Word 9"">")
Response.Write("<style>")
Response.Write("@page Section1 {size:595.45pt 841.7pt; margin:1.0in 1.25in 1.0in
1.25in;mso-header-margin:.5in;mso-footer-margin:.5in;mso-paper-source:0;}")
Response.Write("div.Section1 {page:Section1;}")
Response.Write("@page Section2 {size:841.7pt 595.45pt;mso-page-orientation:
landscape;margin:1.25in 1.0in 1.25in 1.0in;mso-header-margin:.5in;
mso-footer-margin:.5in;mso-paper-source:0;}")
Response.Write("div.Section2 {page:Section2;}")
Response.Write("</style>")
Response.Write("</head>")
Response.Write("<body>")
Response.Write("<div class=Section2>")

关于c# - 用html生成word文档并设置方向景观,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11396109/

10-09 18:50