基于C#的对DOC文件修改的小系统

2018-01-15  本文已影响138人  genglintong

起源

我哥在家乡的一家电影放映场工作,由于不太先进的设备,导致每一次打印机打出都号码都与座位号对应不上,所以就跟我聊,问能不能写一个方便一点的小系统。

抽象设计

难点解析

c#直接使用net框架很方面的完成图形界面的编写以及按钮的颜色改变,按钮信息获取等,这些就不再阐述了,接下来我主要写一下关于如何使用c#操作word以及如何编写一个简单的日志类。 界面.PNG

已售出自动修改为红色且不再可选,点击座位号,确认可以生成对应word.

                //赋值书签名
                oBookMark[0] = "movieName";
                oBookMark[1] = "pai";
                oBookMark[2] = "pai1";
                oBookMark[3] = "hao";
                oBookMark[4] = "hao1";
                doc = wordApp.Documents.Open("D://test//test.doc");
                //插入对应书签  对应值
                doc.Bookmarks.get_Item(ref oBookMark[0]).Range.Text = movieName;
                doc.Bookmarks.get_Item(ref oBookMark[1]).Range.Text = pai;
                doc.Bookmarks.get_Item(ref oBookMark[2]).Range.Text = pai;
                doc.Bookmarks.get_Item(ref oBookMark[3]).Range.Text = hao;
                doc.Bookmarks.get_Item(ref oBookMark[4]).Range.Text = hao;
                //另存为   savePath  路径
                doc.SaveAs2(savePath);
                TraceHelper.GetInstance().Info("已保存至" + savePath, "WordRW Function");

                doc.Close(ref unknow, ref unknow, ref unknow);
                wordApp.Documents.Save(ref unknow, ref unknow);
                wordApp.Quit(ref unknow, ref unknow, ref unknow);

2.Aspose 操作代码

                //初始化信息
                doc = new Aspose.Words.Document("test.doc");
                DocumentBuilder bulider = new DocumentBuilder(doc);
                //移动并写对应信息
                bulider.MoveToBookmark(oBookMark[0]);
                bulider.Write(movieName);
                bulider.MoveToBookmark(oBookMark[1]);
                bulider.Write(pai);
                bulider.MoveToBookmark(oBookMark[2]);
                bulider.Write(pai);
                bulider.MoveToBookmark(oBookMark[3]);
                bulider.Write(hao);
                bulider.MoveToBookmark(oBookMark[4]);
                bulider.Write(hao);
                //doc  另存
                doc.Save(savePath);
                TraceHelper.GetInstance().Info("已保存至" + savePath, "WordRW Function");
上述两种方式都可以做到我们想要的功能。 text.PNG
TraceHelper.GetInstance().Info("程序开始...", "Main Function");
log.PNG

详细使用请看代码 github

上一篇 下一篇

猜你喜欢

热点阅读