asp.net 导出word文档问题

图片说明pload/201711/21/1511259339_992470.png)
前台:

后台: HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ClearHeaders();

   HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("报名表.doc", System.Text.Encoding.UTF8));



   HttpContext.Current.Response.ContentType = "application/ms-word";

   HttpContext.Current.Response.Charset = "UTF-8";
   HttpContext.Current.Response.HeaderEncoding = System.Text.Encoding.UTF8;
   HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;

   //关闭控件的视图状态  
   Page.EnableViewState = false;
   //初始化HtmlWriter  
   System.IO.StringWriter writer = new System.IO.StringWriter();
   System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer);
   Page.RenderControl(htmlWriter);
   //输出  
   string pageHtml = writer.ToString();
   int startIndex = pageHtml.IndexOf("<html");
   int endIndex = pageHtml.LastIndexOf("</div>");
   int lenth = endIndex - startIndex;
   pageHtml = pageHtml.Substring(startIndex, lenth);
   // pageHtml = pageHtml.Remove(pageHtml.LastIndexOf("<div class=\"flowbar\">"));

   HttpContext.Current.Response.Write(pageHtml.ToString());
   HttpContext.Current.Response.Flush();
   HttpContext.Current.Response.End();

        问题:1 为什么会出现自动换行; 2 怎么会出现窗体?
0

1个回答

你这个导出的不是word而是html,只是因为word也支持打开html文档的缘故,好像是word文档。
要导出真正的word文档,需要用npoi这个第三方的库。

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
asp.net导出word文档
从数据库里读取数据(数据库是sqlserver)。将数据写入到word文档中。怎么做。求大神指导。
asp.net导出Word文档
我想把管理员查看到某一用户注册信息(非整个页面)导出至一个Word文件,让管理员登陆的时候,点击导出Word按钮就弹出保存对话框,按确定之后就保存文件,请问这个可以怎样实现?
使用asp.net导出word文档
使用asp.net导出word文档,看了之后相信会对你有所帮助的!
asp.net怎么导出word文档?
最近在研究用asp.net做一个在线考试系统,然后碰到一个问题,怎么导出、导入word文档啊?各位大神帮帮忙……
asp.net页面如何导出为Word文档?
如题,最好有例子,谢谢大家啦。
Asp.NET 将网页导出为Word文档
今天想在我的项目中加上一个将会员简历在线生成Word的功能,现在Word可以导出了,乱码也解决了,可是不幸的是Word中的图片却没有导入到文档中,忘CSDN上的高手们指点一二
Asp.Net 生成\导出 Word 不规则文档
rn最近做"试卷生成系统"在快要完工阶段,遇到这样一个问题。rnrn经过组卷后,需得用asp.net要生成一张(word文档)试卷(试卷上的内容为动态读取数据库试题,且试尺寸跟现实生活中尺寸一样,因为要支持在线打印吗)。rnrn试卷上的排版为不规则排版,还有试卷左边那个文字横着写的。请问怎样用asp.net在线导出word文档呀。。。我在网上查了好多资料,写得都很模糊。。。请高手帮我解决一下。。谢谢了。rnrn另有个问题是我随机生成的题有可能文字不一样多。这样的话。试卷上的排版应该有个算法吧。。请高手指点。。
asp.net word excel 文档导出导入~
在做一个word excel文档导出导入的项目~但是不知道什么下手~谁有例子可以分享下么??小弟初学求大神~
Freemarker导出Word文档问题
请教各位一下,如何通过Freemarker在导出的Word文档中插入包对象,例如在生成的Word文档中插入rar包
数据库文件导出word文档的问题
如果按照条件查询数据库中的数据 然后将这些想要的数据导出来位word文档怎么弄啊!rn请高手们指教!!!
Flex+Java 导出word文档的问题
Flex和Java的远程通信是通过的BlazeDS的RemoteObject,Java端是采用的Spring+Hibernate结构rn想严格按照word模版输出文档,查阅了相关资料,采用了在Java端利用freemarker导出,于是在Spring中定义了一个专门负责导出打印文件的bean类,暴露给Flex端。本来在Java通过了Juit测试,原本以为只需要在Flex端调用remoting-destination,但是调用出错,出现"java.lang.NoClassDefFoundError : freemarker/template/Configuration"的错误rn rn[code=Java]rn rn rn rnrnrnrn rn [/code]rn谁知道到底怎么回事?难道Spring和freemark还要整合么?
网页导出word文档的问题
c#rn后台使用 Microsoft.Office.Interop.Word.Appliction 动态生成一个word文档rn想在生成后通过页面下载的形式导出rnrn想使用下面的形式,但是导出的word文档中只有一句话,就是Microsoft.Office.Interop.Word.Appliction,不知啥原因。rn注,word文档中不仅仅是文本,表格图形都有rnrn Response.AppendHeader("Content-Disposition", "attachment; filename=Result.doc");rn Response.AppendHeader("Content-type", "application/msword");rnrn Response.Write(WordApp);
利用word模板导出word文档的问题
我的word模板里有表格,请问各位高手,我怎么确定模板里表格的单元格,将数据库的数据插入到模版里特定的单元格里呢,如果模板里的行数不够如何自动添加行呢?在线等,请各位指教rn我是这样写的rndoc = app.Documents.Open(ref Obj_FileName, ref missing, ref ReadOnly, ref missing,rn ref missing, ref missing, ref missing, ref missing,rn ref missing, ref missing, ref missing, ref Visible,rn ref missing, ref missing, ref missing,rn ref missing);rn doc.Activate();rndoc.Tables[0].Cell(1, 2).Range.Text = drr["prodname"].ToString();---这行出错,提示:集合所要求的成员不存在。rn
asp.net 导出word代码问题
ASP.NET 导出带格式的 Word 文档rnrn可直接拷贝运行下面的代码测试rnASPX 代码rn<%@ Page Language="C#" AutoEventWireup="true" %>rnrn rnrnrn rnrnrn rn rn rn rn rn rn rn rn 测试啦This is a 测试啊rn <%#Container.DataItem%>rn rn rn rn rnrnrnrnrnrnrnrnrn这段代码可以用,会出现一个问题,当这个页面url 没有?传值就可以正常导出,相反会有问题
asp.net 导出word问题请教
请教高手:从数据中读带格式的文本,写到word文件中,怎样去掉文本中的 ,等标记?
ASP.NET中导出word的问题
使用下面的代码rnSystem.IO.StringWriter SW = new System.IO.StringWriter();rnSystem.Web.UI.HtmlTextWriter HTW=new System.Web.UI.HtmlTextWriter(SW);rnPage.RenderControl(HTW);rn//Page为要导出的对象,当前是Page,如果是DataGrid,DataList等都可以rnResponse.Buffer=true;rnResponse.Clear();rnResponse.ClearContent();rnResponse.ClearHeaders();rnResponse.ContentType = "Response.ContentType";rn//Response.ContentType是输出流的 HTTP MIME 类型rn//Response.ContentType --- word文件rn//application/vnd.ms-excel --- excel文件rn//...rnResponse.Charset="utf-8";rnResponse.ContentEncoding=System.Text.Encoding.GetEncoding("utf-8");rnResponse.AddHeader("Content-Disposition", "attachment;filename=XXX.doc");rn//attachment --- 作为附件下载rn//inline --- 在线打开rn//filename如过是中文,则可以用HttpUtility.UrlEncode(fileName,System.Text.Encoding.UTF8)rn//进行进行编码,以解决文件名乱码的问题rnResponse.Write(SW.ToString());rnResponse.Flush();rnResponse.Close();rnrn可以生成word文档,但是页面上有许多textbox、datagrid等类型的服务器控件,这些控件里的数据没有显示,请问应该怎么做?
java导出word文档
包括freemarker.jar以及使用freemarker导出work文档的方法
C#导出word文档
C#导出word文档,主要是导出的同时怎么根据数据库的数据画出一个图表的图片一起导出
Word文档导出图片
如题,如何将Word文档中的所有图片导出。
导出word文档
点击button后,导出word文档。rn运行至:rn tryrn rn this._wordDocument.SaveAs(ref myFileName, ref myWordFormatDocument, ref myLockd, ref myPassword, ref myAddto, ref myPassword,rn ref myLockd, ref myLockd, ref myLockd, ref myLockd, ref myNothing, ref myNothing, ref myNothing,rn ref myNothing, ref myNothing, ref myNothing);rn rnrn报错,求解rnrn源代码:rn protected void Button1_Click(object sender, EventArgs e)rn rn CreateAWord();rn InsertText("ceshiceshiceshi ", 10, Microsoft.Office.Interop.Word.WdColor.wdColorBlack, 0, Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter);rn NewLine();rn InsertText("啦啦啦啦啦啦 ", 10, Microsoft.Office.Interop.Word.WdColor.wdColorBlack, 0, Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter);rn NewLine();rn SaveWord("测试报告");rn rnrn /// rn /// word 应用对象 rn private Microsoft.Office.Interop.Word.Application _wordApplication;rnrn /// rn /// word 文件对象 rn private Microsoft.Office.Interop.Word.Document _wordDocument;rnrn /// rn /// 创建文档 rn /// rn public void CreateAWord()rn rn //实例化word应用对象 rn this._wordApplication = new Microsoft.Office.Interop.Word.ApplicationClass();rn Object myNothing = System.Reflection.Missing.Value;rnrn this._wordDocument = this._wordApplication.Documents.Add(ref myNothing, ref myNothing, ref myNothing, ref myNothing);rn rnrn /// rn /// 添加页眉 rn /// rn /// rn public void SetPageHeader(string pPageHeader)rn rn //添加页眉 rn this._wordApplication.ActiveWindow.View.Type = Microsoft.Office.Interop.Word.WdViewType.wdOutlineView;rn this._wordApplication.ActiveWindow.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekPrimaryHeader;rn this._wordApplication.ActiveWindow.ActivePane.Selection.InsertAfter(pPageHeader);rn //设置中间对齐 rn this._wordApplication.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;rn //跳出页眉设置 rn this._wordApplication.ActiveWindow.View.SeekView = Microsoft.Office.Interop.Word.WdSeekView.wdSeekMainDocument;rn rnrn /// rn /// 插入文字 rn /// rn /// 文本信息 rn /// 字体大小 rn /// 字体颜色 rn /// 字体粗体 rn /// 方向 rn public void InsertText(string pText, int pFontSize, Microsoft.Office.Interop.Word.WdColor pFontColor, int pFontBold, Microsoft.Office.Interop.Word.WdParagraphAlignment ptextAlignment)rn rn //设置字体样式以及方向 rn this._wordApplication.Application.Selection.Font.Size = pFontSize;rn this._wordApplication.Application.Selection.Font.Bold = pFontBold;rn this._wordApplication.Application.Selection.Font.Color = pFontColor;rn this._wordApplication.Application.Selection.ParagraphFormat.Alignment = ptextAlignment;rn this._wordApplication.Application.Selection.TypeText(pText);rn rnrn /// rn /// 换行 rn /// rn public void NewLine()rn rn //换行 rn this._wordApplication.Application.Selection.TypeParagraph();rn rnrn /// rn /// 插入一个图片 rn /// rn /// rn public void InsertPicture(string pPictureFileName)rn rn object myNothing = System.Reflection.Missing.Value;rn //图片居中显示 rn this._wordApplication.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;rn this._wordApplication.Application.Selection.InlineShapes.AddPicture(pPictureFileName, ref myNothing, ref myNothing, ref myNothing);rn rnrn /// rn /// 保存文件 rn /// rn /// 保存的文件名 rn public void SaveWord(string pFileName)rn rn object myNothing = System.Reflection.Missing.Value;rn object myFileName = pFileName;rn object myWordFormatDocument = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatDocument;rn object myLockd = false;rn object myPassword = "";rn object myAddto = true;rn tryrn rn this._wordDocument.SaveAs(ref myFileName, ref myWordFormatDocument, ref myLockd, ref myPassword, ref myAddto, ref myPassword,rn ref myLockd, ref myLockd, ref myLockd, ref myLockd, ref myNothing, ref myNothing, ref myNothing,rn ref myNothing, ref myNothing, ref myNothing);rn rn catchrn rn throw new Exception("导出word文档失败!");rn rn
导出word 文档
使用java将数据导成word 文档!这个例子写得很详细!
POI 导出word文档
   一直听说Poi可以导出excel文档,还不知道可以导出word文档,最近接到需求是用poi导出word文档,实现方式比较多,用XML做就很简单了。Word从2003开始支持XML格式,大致的思路是先用office2003或者2007编辑好word的样式,然后另存为xml,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板并输出Doc。经测试这样方式生成的wo...
怎样导出word文档?
如何把文字,表格,以及图片(如.jpg,.bmp)导出形成word(.doc)文档?
关于导出WORD文档
我想问一下。我看有的网页点链接后能以WORD文档的方式打开请问怎样弄的?
PowerDesigner16 导出word文档
详细清除的讲述了怎样将PDM导出word文档
jsp导出Word文档
如何将jsp页面中的表格通过点击下按钮导出到Word文档中同时将表格里面的数据提交到Action中
MVC3导出Word文档
vs2010+mvc3利用word模板在线生成word文档 包含: 1.简单数据列表(word表格) 2.合并word表格行、列 3.在word文档中导出图片 4.模板标签文字替换
word文档导出demo
响应之前有博友说问我怎么解决的,现在才看见,所以马上奉上,晚了很久,抱歉了各位。主要解决的是向word文档里面画表格,及参数填入。
winform导出word文档
[img=http://img.my.csdn.net/uploads/201211/30/1354251703_5490.jpg][/img]rnwinform界面上的内容怎么导出word啊!word格式可以根据代码的变动更改rn我在网上找了一下代码,可是都不能用,总有点错误(向word文件中写入数据出错:被呼叫方拒绝被呼叫)rn不知道怎么弄啊,请各位大侠指点一二。有源码最好了
iReport+Jasper 导出 Word文档
本人刚刚学习iReport,发现使用如下代码确实可以根据模板导出想要的文档格式,可是Word文档不尽人意啊,所以特来求救!rnprivate void generateReportByMap()rn // 通过URL获取模板rn File reportTemplate = new File("D:/Myeclipse/Learn/Report/mapReport/test.jasper");rn // 设置文件路径与名称rn String filePath = reportTemplate.getParent();rn String fileName = reportTemplate.getName().split("\\.")[0];rn // 初始化传入iReport模板的Map参数rn HashMap parameterMap = new HashMap();rn parameterMap.put("name", "Maven");rn parameterMap.put("desc",null);rn // 创建空的数据源rn JRDataSource dataSource = new JREmptyDataSource();rn try rn // 通过模板、Map参数、数据源 创建Jasper对象,使用这个对象可以创建导出各种格式文件的实例对象rn JasperPrint jasperPrint = JasperFillManager.fillReport(reportTemplate.getPath(),parameterMap, dataSource);rn // 通过Jasper对象创建指定的Excel文件导出对象rn JExcelApiExporter exporter = new JExcelApiExporter();rn // 设置导出文件的相关信息,并且导出文件在指定目录下(在这里指reportName所指的的目录)rn String reportName = filePath+"\\"+fileName+".xls";rn exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,reportName);rn exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);rn exporter.exportReport();rn rn reportName = filePath+"\\"+fileName+".html";rn JasperExportManager.exportReportToHtmlFile(jasperPrint, reportName);rn rn reportName = filePath+"\\"+fileName+".pdf";rn JasperExportManager.exportReportToPdfFile(jasperPrint, reportName);rn rn reportName = filePath+"\\"+fileName+".html";rn JRHtmlExporter htmlReport = new JRHtmlExporter();rn htmlReport.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,reportName);rn htmlReport.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);rn htmlReport.exportReport();rn rn reportName = filePath+"\\"+fileName+".pdf";rn JRPdfExporter pdfReport = new JRPdfExporter();rn pdfReport.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,reportName);rn pdfReport.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);rn pdfReport.exportReport();rn rn rn reportName = filePath+"\\"+fileName+".doc";rn JRRtfExporter docReport = new JRRtfExporter();rn docReport.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,reportName);rn docReport.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);rn docReport.exportReport();rn rn catch (JRException e) rn e.printStackTrace();rn rn rn但是Word文档的格式与其他文档的格式明显不一样(其他文档都能够横向拖动,所以模板过多的[[img=https://img-bbs.csdn.net/upload/201404/17/1397724688_619924.png][/img][img=https://img-bbs.csdn.net/upload/201404/17/1397724714_157466.png][/img]列在文档中都能够呈现,但是Word不行,那么如何才能避免这个问题),希望有人能够帮助。
asp.net导出Word错误
无法将类型为“Microsoft.Office.Interop.Word.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Word._Application”。此操作失败的原因是对 IID 为“00020970-0000-0000-C000-000000000046”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 加载类型库/DLL 时出错。 (异常来自 HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY))。 rnrnrn在本机的测试的时候正常,部署到服务器上面就提示这个问题,请教一下,有什么解决办法,在线等,摆脱!!!!
asp.net导出word资料
asp.net导出word资料,自己的一些总结,感觉还不错的了。
ASP.net 导出Excel和word
ASP.net 导出Excel和word 不支持客户端程序
asp.net导出word
asp.net导出word 简单 明了 此处需要省略20个字
asp.net 导出word
我现在有个需求,就是要通过c#生成word,word的格式有:段落、图片、表格、各种项目符号,如下:rn I 中国rn 。北京rn 。上海rn II 英国rn 。伦敦 rn 。其他 rn 还有文字环绕等。请各位高手指点。在此感激不尽!
asp.net word导出
word导出! 很值得下载看看!资源免费,大家分享!!
asp.net 操作word文档的问题
docfile.Tables.Add(startRange, totable(prjList.Count + 1), 5, ref missingValue1, ref missingValue1);rnrn startRange.Tables[1].Borders[WdBorderType.wdBorderTop].LineStyle = WdLineStyle.wdLineStyleSingle;rn startRange.Tables[1].Borders[WdBorderType.wdBorderLeft].LineStyle = WdLineStyle.wdLineStyleSingle;rn startRange.Tables[1].Borders[WdBorderType.wdBorderRight].LineStyle = WdLineStyle.wdLineStyleSingle;rn startRange.Tables[1].Borders[WdBorderType.wdBorderBottom].LineStyle = WdLineStyle.wdLineStyleSingle;rn startRange.Tables[1].Borders[WdBorderType.wdBorderHorizontal].LineStyle = WdLineStyle.wdLineStyleSingle;rn startRange.Tables[1].Borders[WdBorderType.wdBorderVertical].LineStyle = WdLineStyle.wdLineStyleSingle;rnrn rn 以上是绘制表格样式的代码 但是我想绘制出的表格的边框与word文档的边框重叠 怎么办 有特定的属性吗
ASP.net打印WORD文档问题?
表 reportsrn字段 prtcont 类型是IMAGE rn我已经把以下这个文档存进去:rnrn%DW rn 现在转去%DEPT的案件一份,请答复来人。rn %DATE rnrn在页面上rnDW.TEXT内容是:xx信访局 rnDEPT.TEXT内容是:xx市政集团 rn点击“打印”按妞的时候,想要生成WORD文档:rnrnxx信访局 rn 现在转去xx市政集团的案件一份,请答复来人。rn 系统日期rn这个文档在页面上打开。rnrn请问如何实现,谢谢!
ASP.NET导出DOC文档
ASP.NET导出word文档的后台代码
asp.net压面导出word文档问题,相当纠结!相当。。。。。
最近用三层做了个考试管理系统,其中页面涉及到操作word方面的问题。rn需求是将搜索出的试题信息在客户端让用户导出到word中。考虑到页面有其他控件,就将要导出的内容单独放到一个处理页面中。我是用session接收页面传来的数据的,经过调试session有值,而且数据也在这个处理页面显示了出来,当我点击生成word按钮时,生成的word中根本就没有数据,昨晚调试都很成功,今天打开电脑就不能用了,纳闷啊:rn代码如下:rnrnusing System;rnusing System.Collections.Generic;rnusing System.Linq;rnusing System.Web;rnusing System.Web.UI;rnusing System.Web.UI.WebControls;rnusing ExamManager.Models;rnrnpublic partial class Default2 : System.Web.UI.Pagernrn protected void Page_Load(object sender, EventArgs e)rn rn if (!IsPostBack)rn rn if (Session["list"]!=null)rn rn bindlist();rn SaveToWord(this.DataList1,DateTime.Now.ToString());rn rn rn rn rn private void bindlist()rn rn List llist =(List) Session["list"];rn this.DataList1.DataSource = llist;rn this.DataList1.DataBind();rnrn for (int i = 0; i < this.DataList1.Items.Count; i++)rn rnrn (this.DataList1.Items[i].FindControl("TitleNum") as Label).Text = "第" + (1 + i).ToString() + "题、";rn WordQuestion word = llist[i];rn Label lblE = this.DataList1.Items[i].FindControl("lblE") as Label;rn Label lblF = this.DataList1.Items[i].FindControl("lblF") as Label;rn if (word.E == "" || word.E == null)rn rn lblE.Visible = false;rn lblF.Visible = false;rn rn elsern rn lblE.Visible = true;rn lblF.Visible = true;rn rn rn rnrn public void SaveToWord(System.Web.UI.Control control,string wordTitle)rn rn Response.Clear();rn Response.BufferOutput = true;rn //设定输出的字符集rn Response.Charset = "UTF-8";rn //假定导出的文件名为FileName.docrn Response.AppendHeader("Content-Disposition", "attachment;filename=" + wordTitle + ".doc");rn Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");rn ////设置导出文件的格式rn Response.ContentType = "application/ms-word";rn //关闭ViewStatern control.EnableViewState = false;rn System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("ZH-CN", true);rn System.IO.StringWriter stringWriter = new System.IO.StringWriter(cultureInfo);rn System.Web.UI.HtmlTextWriter textWriter = new System.Web.UI.HtmlTextWriter(stringWriter);rn control.RenderControl(textWriter);rn // //把HTML写回浏览器rn Response.Write(stringWriter.ToString());rn Response.End();rn rn