将 gridview1 输出到 docx
output gridview1 to docx
您好,我尝试在托管的 .net 程序包上使用 iTextSharp,但由于安全限制而碰壁。然后我决定输出到一个 word 文档,但它似乎只允许我导出到 .doc 而不是 .docx,这有点问题。另外有没有办法让文档横向?
这是我发现的适用于纵向 .doc 的代码。
protected void ButtonWord_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition",
"attachment;filename=GridViewExport.doc");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-word ";
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView1.AllowPaging = false;
GridView1.DataSource = Session["tblConversations"];
this.GridView1.Columns[1].Visible = false;
this.GridView1.Columns[2].Visible = false;
this.GridView1.Columns[3].Visible = false;
this.GridView1.Columns[0].Visible = false;
GridView1.DataBind();
GridView1.RenderControl(hw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
}
我在这里找到了解决办法
https://www.aspforums.net/Threads/889165/Export-Gridview-to-Word-in-Landscape-in-ASPNet/
它不会导出为 docx,但只能导出为 doc。
protected void ButtonWord_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.doc");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-word ";
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>");
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView1.AllowPaging = false;
GridView1.DataSource = Session["tblConversations"];
GridView1.DataBind();
this.GridView1.Columns[1].Visible = false;
this.GridView1.Columns[2].Visible = false;
this.GridView1.Columns[3].Visible = false;
this.GridView1.Columns[0].Visible = false;
GridView1.RenderControl(hw);
Response.Write(sw.ToString());
Response.Write("</div>");
Response.Write("</body>");
Response.Write("</html>");
Response.Flush();
Response.End();
}
您好,我尝试在托管的 .net 程序包上使用 iTextSharp,但由于安全限制而碰壁。然后我决定输出到一个 word 文档,但它似乎只允许我导出到 .doc 而不是 .docx,这有点问题。另外有没有办法让文档横向?
这是我发现的适用于纵向 .doc 的代码。
protected void ButtonWord_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition",
"attachment;filename=GridViewExport.doc");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-word ";
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView1.AllowPaging = false;
GridView1.DataSource = Session["tblConversations"];
this.GridView1.Columns[1].Visible = false;
this.GridView1.Columns[2].Visible = false;
this.GridView1.Columns[3].Visible = false;
this.GridView1.Columns[0].Visible = false;
GridView1.DataBind();
GridView1.RenderControl(hw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
}
我在这里找到了解决办法 https://www.aspforums.net/Threads/889165/Export-Gridview-to-Word-in-Landscape-in-ASPNet/
它不会导出为 docx,但只能导出为 doc。
protected void ButtonWord_Click(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.doc");
Response.Charset = "";
Response.ContentType = "application/vnd.ms-word ";
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>");
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView1.AllowPaging = false;
GridView1.DataSource = Session["tblConversations"];
GridView1.DataBind();
this.GridView1.Columns[1].Visible = false;
this.GridView1.Columns[2].Visible = false;
this.GridView1.Columns[3].Visible = false;
this.GridView1.Columns[0].Visible = false;
GridView1.RenderControl(hw);
Response.Write(sw.ToString());
Response.Write("</div>");
Response.Write("</body>");
Response.Write("</html>");
Response.Flush();
Response.End();
}