html格式转换word_html嵌入word

html格式转换word_html嵌入word1基于wps直接将页面信息下载成word文档1publicvoidtest()2{34WPS.Applicationwps=null;5try6{7…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1 基于wps直接将页面信息下载成word文档

html格式转换word_html嵌入word
html格式转换word_html嵌入word

 1  public void test()
 2         {
 3 
 4             WPS.Application wps = null;
 5             try
 6             {
 7                 wps = new WPS.Application();
 8             }
 9             catch (Exception ex)
10             {
11                 return;
12             }
13             var httpurl = "http://www.baidu.com";
14             WPS.Document doc = wps.Documents.Open(httpurl, false, true);
15             string filename = System.DateTime.Now.Year.ToString() + System.DateTime.Now.Month.ToString() + System.DateTime.Now.Day.ToString() +
16             System.DateTime.Now.Hour.ToString() + System.DateTime.Now.Minute.ToString() + System.DateTime.Now.Second.ToString();
17 
18             string saveFileName = "D:\\1.doc";
19             doc.SaveAs(saveFileName, WPS.WdSaveFormat.wdFormatDocument);
20 
21             doc.Close(WPS.WdSaveOptions.wdSaveChanges, WPS.WdOriginalFormat.wdWordDocument, WPS.WdRoutingSlipStatus.wdNotYetRouted);
22             wps.Quit(WPS.WdSaveOptions.wdSaveChanges, WPS.WdOriginalFormat.wdWordDocument, WPS.WdRoutingSlipStatus.wdNotYetRouted);
23         }

View Code

这种情况下载的word文档中,样式全乱了,当时参考资料为:http://lanhy2000.blog.163.com/blog/static/4367860820119198575552/

 

2 用数据流的形式将页面下载成word文档

     1>首先获取webUrl页面输出内容

html格式转换word_html嵌入word
html格式转换word_html嵌入word

 1  /// <summary>
 2         /// 获取weburl输出内容
 3         /// </summary>
 4         /// <param name="url">weburl</param>
 5         /// <returns>输出内容</returns>
 6         public static string GetPage(string url)
 7         {
 8             WebResponse result = null;
 9             try
10             {
11                 WebRequest req = WebRequest.Create(new Uri(url));
12                 result = req.GetResponse();
13 
14                 var receivedStream = result.GetResponseStream();
15                 var sr = new System.IO.StreamReader(receivedStream, GetEncoding(GetContentType(result.ContentType).FirstOrDefault().Key));
16                 return sr.ReadToEnd();
17             }
18             catch (Exception ex)
19             {
20                 return ex.Message;
21             }
22             finally
23             {
24                 //ensure that network resources are not wasted
25                 if (result != null)
26                     result.Close();
27             }
28         }

View Code

     2>然后下载生成成word文档

html格式转换word_html嵌入word
html格式转换word_html嵌入word

 1  //数据流的方式
 2         public void test2()
 3         {
 4             var pageString = Linkin.Toolkit.Utility.Network.GetPage("http://www.baidu.com");
 5             System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=result.doc");
 6             System.Web.HttpContext.Current.Response.ContentType = "application/ms-word";
 7             System.Web.HttpContext.Current.Response.Charset = "utf-8";
 8             System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
 9             Response.Write(pageString);
10             Response.End();
11         }

View Code

     3>生成后的word文档因为没有样式,所有稍微丑了一些,有待优化,如图

     html格式转换word_html嵌入word

 

3 基于office com控件,在模板中添加书签的形式,将数据写入word模板中并保存

     1>首先需要向工程中的“引用”加入Word类库的引用(如图)。我是Office 2007。其他版本可能略有不同。在COM里面。

          html格式转换word_html嵌入word

     2>用Word设计一个模板文档(后缀名*.doc)。(如图)

          html格式转换word_html嵌入word

      3>向模板中的需要显示动态内容的地方添加书签。具体方法是。光标落到欲插入内容的地方,选择菜单栏上的“插入”——〉“书签”。

           在我的模板中添加完书签的样子如图

           html格式转换word_html嵌入word

    4>保存这个已完成的模板到任意路径,例如 D://template.doc

    5>具体读取模板,添加数据,保存文件代码如下: 

html格式转换word_html嵌入word
html格式转换word_html嵌入word

 1 public static void ExportToWord()
 2         {
 3             object oMissing = System.Reflection.Missing.Value;
 4             //创建一个Word应用程序实例  
 5             Word._Application oWord = new Word.Application();
 6             //设置为不可见  
 7             oWord.Visible = false;
 8             //模板文件地址,这里假设在X盘根目录  
 9             object oTemplate = "D://template.doc";
10             //以模板为基础生成文档  
11             Word._Document oDoc = oWord.Documents.Add(ref oTemplate, ref oMissing, ref oMissing, ref oMissing);
12             //声明书签数组  
13             object[] oBookMark = new object[5];
14             //赋值书签名  
15             oBookMark[0] = "beizhu";
16             oBookMark[1] = "xingming";
17             oBookMark[2] = "xingbie";
18             oBookMark[3] = "chushengriqi";
19             oBookMark[4] = "jiguan";
20           
21             //赋值任意数据到书签的位置  
22             oDoc.Bookmarks.get_Item(ref oBookMark[0]).Range.Text = "使用模板实现Word生成";
23             oDoc.Bookmarks.get_Item(ref oBookMark[1]).Range.Text = "李四";
24             oDoc.Bookmarks.get_Item(ref oBookMark[2]).Range.Text = "";
25             oDoc.Bookmarks.get_Item(ref oBookMark[3]).Range.Text = "1987.06.07";
26             oDoc.Bookmarks.get_Item(ref oBookMark[4]).Range.Text = "夕阳无限好/r/n只是近黄昏";
27 
28             string savePath = "D:\\1.doc";
29 
30 
31             object filename = savePath;
32 
33             oDoc.SaveAs(ref filename, ref oMissing, ref oMissing, ref oMissing,
34             ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
35             ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
36             ref oMissing, ref oMissing);
37             oDoc.Close(ref oMissing, ref oMissing, ref oMissing);
38             //关闭word  
39             oWord.Quit(ref oMissing, ref oMissing, ref oMissing);
40         }

View Code

     6>到此,保存word文件成功,如图

         html格式转换word_html嵌入word

 

4 基于WPS com控件,模板表格标志导出word文档,此方式和方式3比较相似

     1>首先需要向工程中的“引用”加入wps类库的引用(如图)。

          html格式转换word_html嵌入word

    2>在本地任意路径下面创建模板,并在模板中需要添加数据的地方表明标签,例如:D:\\Resume.doc   如图

        html格式转换word_html嵌入word

    3>C#代码控制模板,并填充数据

       

html格式转换word_html嵌入word
html格式转换word_html嵌入word

 1 //基于 wps com控件 表格标志 导出word
 2         public void test4()
 3         {
 4 
 5             WPS.Application wps = null;
 6             try
 7             {
 8                 wps = new WPS.Application();
 9             }
10             catch
11             {
12 
13             }
14             ////获取当前项目的路径
15             //string path = AppDomain.CurrentDomain.BaseDirectory;
16             //WPS.Document doc = wps.Documents.Open(path + "Templetes\\Resume.doc", false, true);
17             WPS.Document doc = wps.Documents.Open("D:\\Resume.doc", false, true);
18 
19             #region 基本信息
20             var titleTable = doc.Tables.Item(1);
21             titleTable.Cell(1, 2).Range.Text = titleTable.Cell(1, 2).Range.Text.Replace("{RealName}", "简历名称");
22             titleTable.Cell(2, 2).Range.Text = titleTable.Cell(2, 2).Range.Text.Replace("{ExpectJobCategory}", "期望职位");
23             titleTable.Cell(3, 2).Range.Text = titleTable.Cell(3, 2).Range.Text.Replace("{UpdateTime}", "更新时间");
24             #endregion
25 
26 
27             string filename = System.DateTime.Now.Year.ToString() + System.DateTime.Now.Month.ToString() + System.DateTime.Now.Day.ToString() +
28        System.DateTime.Now.Hour.ToString() + System.DateTime.Now.Minute.ToString() + System.DateTime.Now.Second.ToString();
29             string serverPath = @"D:\" + filename + ".doc";
30             doc.SaveAs(serverPath, WPS.WdSaveFormat.wdFormatDocument);
31 
32             doc.Close(WPS.WdSaveOptions.wdSaveChanges, WPS.WdOriginalFormat.wdWordDocument, WPS.WdRoutingSlipStatus.wdNotYetRouted);
33             wps.Quit(WPS.WdSaveOptions.wdSaveChanges, WPS.WdOriginalFormat.wdWordDocument, WPS.WdRoutingSlipStatus.wdNotYetRouted);
34         }

View Code

    4>生成后的word文件 如图

       html格式转换word_html嵌入word

 

5 这种方法相对以上都比较复杂,先保存地址,以待研究

    http://www.cnblogs.com/kingteach/archive/2011/11/22/2258801.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/166519.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Git使用流程_git详细教程

    Git使用流程_git详细教程以coding为例,演示如何使用git首先理解下整个流程,如图一,将本地代码上传到远程仓库1.(电脑里得先下载git)登录coding,新建一个仓库,点击代码浏览可以看到2.在本地新建一个文件夹,作为项目根目录,再此启动GitBash,进入目录,并输入gitinit初始化一个本地git仓库3.将本地仓库和我们在coding上创建的远程仓库对接起来,输入gitre…

    2022年4月19日
    146
  • GMapping代码解析[通俗易懂]

    GMapping代码解析[通俗易懂]前言:   最近正好用到GMapping,需要改代码,但看过也总是在忘,那干脆写篇博客记录下来同时也可以帮助想要了解GMapping代码的同学。   代码的入口依然是main函数,但GMapping代码中由很多是没有用的,所以并不需要挨个看,可以说代码的作者代码能力挺强但代码风格却是不敢恭维。这里就不带大家挨个文件度代码,只是对几个主要的函数进行介绍。   …

    2022年6月16日
    41
  • 【c#】DataTable分页处理

    【c#】DataTable分页处理【c#】DataTable分页处理

    2022年4月25日
    43
  • java怎么创建文件夹文本文件_java删除文件夹下指定文件

    java怎么创建文件夹文本文件_java删除文件夹下指定文件jikpackagetest.file;//time:05-12-22//author:[email]huapingsmith@hotmail.com[/email]//description:程序先检查文件夹是否存在,如果不存在,则创建一个,存在,则继续运行.//文件夹处理完成后,下一步工作为往文件夹中创建文件.//caution:当前文件夹中如果已经有名为abc.txt的文件时,//…

    2025年7月2日
    3
  • 微信公众平台应用开发实战「建议收藏」

    微信公众平台应用开发实战「建议收藏」微信公众平台应用开发实战微信营销ISBN 9787111438618作者 钟志勇含税价59.0元税后51.3元增值税7.7元卓越价 40.7元(满49元免运费) 有货出版社 机械工业出版社出版日期 2013年08月28日版次 第1版印刷时间2013年08月29日印次第1次装帧平装纸张胶版纸页数 256页语种 

    2022年8月21日
    8
  • SELinux: Could not downgrade policy file

    SELinux: Could not downgrade policy file

    2021年10月18日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号