zoukankan      html  css  js  c++  java
  • C#调用word打印

    开发指南:

    1.  必须安装office.net开发包。

    2.  在工程的reference中添加com组件:Microsoft Word 11.0 Object Library

     1//打印的代码如下:
     2 Microsoft.Office.Interop.Word.Application app = null;
     3            Microsoft.Office.Interop.Word.Document doc = null;
     4            object missing = System.Reflection.Missing.Value;
     5            object templateFile = Application.StartupPath + @"\表单模版.doc";
     6            try
     7            {
     8                app = new Microsoft.Office.Interop.Word.ApplicationClass();
     9                doc = app.Documents.Add(ref templateFile, ref missing, ref missing, ref missing);
    10                try
    11                {
    12                    foreach (Microsoft.Office.Interop.Word.Bookmark bm in doc.Bookmarks)
    13                    {
    14                        bm.Select();
    15                        string item = bm.Name;
    16                        if (item.Equals("in_time"))
    17                        {
    18                            bm.Range.Text = table.inTime == null ? "" : table.inTime.ToString();
    19                        }

    20                        else if (item.Equals("car_id"))
    21                        {
    22                            bm.Range.Text = table.carID == null ? "" : table.carID.ToString();
    23                        }

    24                                       }

    25                }

    26                catch
    27                {
    28                }

    29                //打印
    30               doc.PrintOut(ref missing, ref missing, ref missing, ref missing, 
    31                    ref missing, ref missing, ref missing, ref missing, ref missing, 
    32                    ref missing, ref missing, ref missing, ref missing, ref missing, 
    33                    ref missing, ref missing, ref missing, ref missing);
    34                     }

    35            catch (Exception exp)
    36            {
    37                MessageBox.Show(exp.Message, this.Text);
    38            }

    39//销毁word进程
    40            finally
    41            {
    42               object saveChange = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
    43                if (doc != null)
    44                    doc.Close(ref saveChange, ref missing, ref missing);
    45                if (app != null)
    46                    app.Quit(ref missing, ref missing, ref missing);
    47            }

    48 
    49

  • 相关阅读:
    j.u.c系列(01) ---初探ThreadPoolExecutor线程池
    mySql---or和in的效率问题(和<=、>=、between之间的关系)
    spring---aop(10)---Spring AOP中AspectJ
    spring---aop(9)---Spring AOP中引入增强
    设计模式系列---适配器模式
    spring---aop(8)---Spring AOP中optimize
    spring---aop(7)---Spring AOP中expose-proxy介绍
    spring---aop(6)---Spring AOP中ProxyFactoryBean介绍
    spring---aop(5)---Spring AOP的配置的背后的配置
    spring---aop(4)---Spring AOP的CGLIB动态代理
  • 原文地址:https://www.cnblogs.com/conquer/p/1111142.html
Copyright © 2011-2022 走看看