如何让ASP动态生成WORD文件
一般来讲,生成word最好是格式固定的,只是内容有变动的比较适用,我以前做过,方法是这样的,先在word中排好版,比如哪些地方填什么内容,你用文字标明,然后另存为html文档,打开这个html文档查看源文件,你只需要在asp中更改你作好标记的内容部分,其他部分不变,最后将更改过的html内容文档存为doc后缀文档即可。
这个方法对于有大量数据的就太慢了,也非常占用服务器资源,而且打开的word文件始终为web版式视图,不是页面视图,到是你要注意切换!
ASP生成word文档怎么样使它默认以普通页面视图打开
简单说下思路,说的不是很清楚, 先考虑下单一页面生成,这里用到fso,一般服务器都有. goaler="输出的内容是这里,可是是动态信息分页也在这里+1.htm">下一页" FolderPath = Server.MapPath("路径") Set fso = Server.CreateObject("Scripting.FileSystemObject") Set fout = fso.CreateTextFile(FolderPath&"\你所要生成的文件名.Js") //我这里生成的是js,你也可以生成htm或html 看你怎么想生成了 fout.WriteLine goaler fout.close 这样一个页面简单的生成就出来了,当然还有就是生成网页的同时要把数据写到数据库中.这些我就不说了. 下边就是分页生成 分页也和单页差不了多少,就是多生成几页,就是在 Set fout = fso.CreateTextFile(FolderPath&"\你所要生成的文件名.Js") 你所要生成的文件名.Js 不能用静态的而要用的用动态的.而且是代循环的 循环最上边那个代码时候加一个i=1,你所要生成的文件名.Js 然后循环到next时候i=i+1,这样循环几次就生成了几页,分页也是用到i这个变量 反正说起来真的比较麻烦 就说道这里,给你点思路,再到网上下载个静态生成的源代码研究一下,至少不至于看别人得代码优点郁闷 相信你有所收获
IIS下asp.net调用com组建操作和生成新的word文件问题
这个是可以实现的,WORD 转 HTML 就是按照WORD的排版,平移到 HTML上。
同时,HTML 转 WORD 也很方便的,只需要把HTML的样式,写入WORD即可。
这里需要注意,WORD 不支持DIV等标签,仅仅支持TABLE这些标签,写程序的时候注意样式和标签的改变哈。
ASP.NET(C#):如何利用word模板dot文件生成报表。
ASP.NET利用dot模板生成Word文档代码,假定有一个模板文件位于网站Mywebsite/templates/a.dot,现在需要利用Word.ApplicationClass和Word.Document类来生成一个word文档。
关键代码如下: //初始化生成word文档需要的信息 Word.Application appWord =null; Word.Document doc = null; try { appWord = new Word.ApplicationClass(); appWord.Visible = false; object objTrue = true; object objFalse = false; object objTemplate = Server.MapPath(@"templates\a.dot");//模板路径 object objDocType = Word.WdDocumentType.wdTypeDocument; doc = appWord.Documents.Add(ref objTemplate, ref objFalse, ref objDocType, ref objTrue); //第一步生成word文档 //定义书签变量 object obDD_Name = "DD_Name";//姓 名 object obDD_Sex = "DD_Sex";//性 别 object obDD_Age = "DD_Age";//年龄 object obDD_Birthday = "DD_Birthday"; //出生年月 object obDD_Nation = "DD_Nation"; //民 族 object obDD_Native = "DD_Native"; //籍 贯 //第二步 读取数据,填充数据集 SqlDataReader dr = XXXXX;//读取出来的数据集 //第三步 给书签赋值 //给书签赋值 doc.Bookmarks.get_Item(ref obDD_Name).Range.Text = dr["appliername"].ToString(); //姓 名 doc.Bookmarks.get_Item(ref obDD_Sex).Range.Text = getCodeFullNameStd("性别", dr["Sex"].ToString());//性 别 doc.Bookmarks.get_Item(ref obDD_Age).Range.Text = Convert.ToString(DateTime.Now.Year - ((DateTime)dr["Birthday"]).Year);//年龄 . //第四步 生成word object filename = Server.MapPath("file") + "\\" + "XXXXXXXXXX情况表" +".doc"; object miss = System.Reflection.Missing.Value; doc.SaveAs(ref filename, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss, ref miss); object missingValue = Type.Missing; object doNotSaveChanges = Word.WdSaveOptions.wdDoNotSaveChanges; doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue); appWord.Application.Quit(ref miss, ref miss, ref miss); doc = null; appWord = null; } catch (System.Exception e) { //捕捉异常,如果出现异常则清空实例,退出word,同时释放资源 string aa = e.ToString(); object miss = System.Reflection.Missing.Value; object missingValue = Type.Missing; object doNotSaveChanges = Word.WdSaveOptions.wdDoNotSaveChanges; doc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue); appWord.Application.Quit(ref miss, ref miss, ref miss); doc = null; appWord = null; }
转载请注明出处51数据库 » asp 生成word