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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python递归函数讲解_Python递归函数实例讲解

    python递归函数讲解_Python递归函数实例讲解Python递归函数实例讲解Python递归函数实例1、打开Python开发工具IDLE,新建‘递归.py’文件,并写代码如下:defdigui(n):ifn==0:print(”)returnprint(‘*’*n)digui(n-1)if__name__==’__main__’:digui(5)这里递归打印*号,先打印后递归2、F5运行程序,打印内容如下;********…

    2025年7月25日
    3
  • Java 上传文件到ftp服务器「建议收藏」

    Java 上传文件到ftp服务器「建议收藏」前两篇文章我们搭建了一个ftp服务器,并对服务器进行了相应的配置,这篇文章我们来说一下我们如何上传文件。        先介绍一下项目,本项目采用的是springmvc+spring+mybatis,用maven进行项目管理。看一下项目结构。         如果单独做测试的话不用这么费劲,写一个简单的测试类就ok了!而在这个项目中,parent是所有项

    2025年9月12日
    5
  • redhat7.2配置网络yum源

    redhat7.2配置网络yum源

    2022年3月1日
    48
  • sklearn库安装_sklearn简介[通俗易懂]

    sklearn库安装_sklearn简介[通俗易懂]Scikitlearn也简称sklearn,是机器学习领域当中最知名的python模块之一。sklearn包含了很多机器学习的方式:Classification分类Regression回归Clustering非监督分类Dimensionalityreduction数据降维ModelSelection模型选择Preprocessing数据与处理使用sklea…

    2022年10月9日
    1
  • 【MyBatis学习13】MyBatis中的二级缓存[通俗易懂]

    【MyBatis学习13】MyBatis中的二级缓存[通俗易懂]1.二级缓存的原理  前面介绍了,mybatis中的二级缓存是mapper级别的缓存,值得注意的是,不同的mapper都有一个二级缓存,也就是说,不同的mapper之间的二级缓存是互不影响的。为了更加清楚的描述二级缓存,先来看一个示意图:  从图中可以看出:sqlSession1去查询用户id为1的用户信息,查询到用户信息会将查询数据存储到该UserMapper的二级缓存中。

    2022年9月15日
    3
  • JSESSIONID 作用

    JSESSIONID 作用1 第一次访问服务器的时候 会在响应头里面看到 Set Cookie 信息 只有在首次访问服务器的时候才会在响应头中出现该信息 上图中 JSESSIONID ghco9xdnaco3 Path acr 首次访问服务器时服务端创建 session HttpSessions request getSession nbsp 当这句代码需要创建 session 的时候

    2025年6月25日
    4

发表回复

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

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