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

  • 相关阅读:
    数据库SQL实战- 获取所有非manager员工当前的薪水情况,给出dept_no、emp_no以及salary ,当前表示to_date='9999-01-01'
    数据库SQL实战- 查找所有员工自入职以来的薪水涨幅情况,给出员工编号emp_no以及其对应的薪水涨幅growth,并按照growth进行升序
    数据库SQL实战- 查找当前薪水(to_date='9999-01-01')排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不准使用order by
    springboot 整合redis 以及redis的简单使用
    SQL语句按in排序
    编写高质量的代码
    linux 后渗透测试
    工具包学习与收集
    python 学习实例(cmdMD链接)
    python 学习之FAQ:find 与 find_all 使用
  • 原文地址:https://www.cnblogs.com/conquer/p/1111142.html
Copyright © 2011-2022 走看看