第一个C#窗体应用程序开发总结-----单号单面法调整单操作程序

本文分享了使用C#根据Word模板动态生成Word文档的过程,包括寻找模板、填充数据到书签位置、保存生成的Word文档等关键步骤,并附上了具体代码实现。

1、总体布局:

  总体分为了三个部分:窗体、计算、打印、Modle

  ①、窗体方面没用到啥特别的控件,没啥好说的

  ②、写计算过程时粗心导致的错误,真的是既浪费时间,又浪费精力

  ③、打印,这个是以前从来没有用到过的,这里真的是学到不少,这次主要是用到了根据word模板生成word文档代码,主要借鉴了

灵魂重铸写的-------C#:简单实现动态数据生成Word文档并保存,原链接:https://blog.youkuaiyun.com/fujie724/article/details/5443322

    不过这里我稍做了些改动,具体代码如下:  

 1   public static void Dayin()
 2   {   
 3      object oMissing = System.Reflection.Missing.Value;
 4             //创建一个Word应用程序实例  
 5             Word._Application oWord = new Word.Application();
 6             //设置为不可见  
 7             oWord.Visible = false;
 8             
 9             //*********************以下为寻找word模板代码************************
10             
11             //获取当前启动项目的路径
12             string path = Directory.GetCurrentDirectory();
13             //进行拼接,形成一个绝对路径
14             object oTemplate = path + "\\参数及几何尺寸.dot";
15             //***********************************************************************
16             //以模板为基础生成文档  
17             Word._Document oDoc = oWord.Documents.Add(ref oTemplate, ref oMissing, ref oMissing, ref oMissing);
18             //声明书签数组  
19             object[] oBookMark = new object[45];
20             //赋值书签名  
21             oBookMark[0] = "AL";
22             //后面略。。。。。
23 
24             //赋值任意数据到书签的位置  
25             oDoc.Bookmarks.get_Item(ref oBookMark[0]).Range.Text = Elements.AL.ToString("0.#######");
26             //后面略    。。。。。。。。。。。。。。。。。。。。。。。
27             //弹出保存文件对话框,保存生成的Word  
28             SaveFileDialog sfd = new SaveFileDialog();
29             //文件名默认生成为word模板名加上时间
30             sfd.FileName = "参数及几何尺寸_" + DateTime.Now.ToString("f");
31 
32             sfd.Filter = "Word Document(*.doc)|*.doc";
33             sfd.DefaultExt = "Word Document(*.doc)|*.doc";
34             if (sfd.ShowDialog() == DialogResult.OK)
35             {
36                 object filename = sfd.FileName;
37 
38                 oDoc.SaveAs(ref filename, ref oMissing, ref oMissing, ref oMissing,
39                 ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
40                 ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
41                 ref oMissing, ref oMissing);         
42             }
43             //关闭wordDoc文档对象             
44             oDoc.Close(ref oMissing, ref oMissing, ref oMissing);
45             //关闭word  
46             oWord.Quit(ref oMissing, ref oMissing, ref oMissing);
47 }
根据模板生成word文档代码

  ④、由于不涉及安全性,所以就将所有的变量类为了精度都设成double类型,而且是public的,这样方便所有类库和窗体中都能调用                      

  

转载于:https://www.cnblogs.com/ShiroKa-X/p/8891425.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值