我的页面上有一个DATALIST,模板列里做了一张客户要求的报表。客户给我的是一张WORD的报表。我用网上找的那些代码 //传入数据集,导出Word文档
public void GetFile(Control gv, HttpResponse res, string fileName)
{
res.Clear();
res.Buffer = true;
res.Charset = "UTF-7";
res.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(Encoding.UTF8.GetBytes(fileName)) + ".doc");
// 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
res.ContentEncoding = System.Text.Encoding.UTF7;
res.ContentType = "application/ms-word";//设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
gv.RenderControl(oHtmlTextWriter);
res.Output.Write(oStringWriter.ToString());
res.Flush();
res.End();
}
把这个DATALIST导出数据到WORD文档,结果导出来的格式,样式,和我页面中的差距很大。太丑了。有没有什么办法,使我页面的是什么样子,导出来就是什么样啊?求解
public void GetFile(Control gv, HttpResponse res, string fileName)
{
res.Clear();
res.Buffer = true;
res.Charset = "UTF-7";
res.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(Encoding.UTF8.GetBytes(fileName)) + ".doc");
// 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
res.ContentEncoding = System.Text.Encoding.UTF7;
res.ContentType = "application/ms-word";//设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
gv.RenderControl(oHtmlTextWriter);
res.Output.Write(oStringWriter.ToString());
res.Flush();
res.End();
}
把这个DATALIST导出数据到WORD文档,结果导出来的格式,样式,和我页面中的差距很大。太丑了。有没有什么办法,使我页面的是什么样子,导出来就是什么样啊?求解
foreach (Word.Book BM in doc2.Books) //这是最关键的地方:对文档的任何书签进行便利匹配
{
strCase = BM.Name.ToString();
switch (strCase)
{
case "a1": //替换Advice书签的内容,其他相同
BM.Select();
BM.Range.Text = arrList[0].ToString();
break;
case "a2": //替换Advice书签的内容,其他相同
BM.Select();
BM.Range.Text = arrList[1].ToString();
break;
case "a3": //替换Advice书签的内容,其他相同
BM.Select();
BM.Range.Text = arrList[2].ToString();
break;
}
}其中a1,a2...为word书签的id预祝国庆节快乐
public void GetFile(Control gv, HttpResponse res, string fileName)
{
res.Clear();
res.Buffer = true;//我个人觉得这里用false 比较好
res.Charset = "UTF-8";
res.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(Encoding.UTF8.GetBytes(fileName)) + ".doc");
// 如果设置为 GetEncoding("GB2312");导出的文件将会出现乱码!!!
res.ContentEncoding = System.Text.Encoding.UTF8;
res.ContentType = "application/vnd.ms-word";//设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
gv.RenderControl(oHtmlTextWriter);
res.Output.Write(oStringWriter.ToString());
res.Flush();
res.End();
}导出对WORD格式的支持不是太良好,如果你只是为了打印/存稿 你可以导成pdf 的也行啊。