C# VS2012操作word文档 (一).创建文档
該文章主要是講述如何使用VS2012創建word文檔,因為在項目中我們可能需要點擊一個按鈕把數據庫中的項目表單或圖片顯示到word文檔中,因此該文章主要分析如何使用VS2012創建word文檔并填寫相應的內容.主要通過C#引用Miscrosoft Word 14.0 Object Library實現的.
一.創建工程
首先是使用VS2012創建一個windows窗體程序,并添加如下圖所示的界面.
二.添加引用
然后需要引用COM中的Miscrosoft Word 14.0 Object Library到工程中去.在"解決方案資源管理器"窗口中右擊"引用"對象,在彈出的快捷菜單中選擇"添加引用"命令,彈出"添加引用"對話框中選擇COM選項卡,選擇"Miscrosoft Word 14.0 Object Library".如下圖所示:
添加后,查看工程解決方案中引用,會看到引用到工程中的word對象如下圖所示,這里會引用Microsoft.office.Interop.Word對象.
三.源代碼
雙擊Form1界面空白處,進行添加源代碼操作,首先添加的下面的引用代碼,其中MSWord是引用word對象,System.Reflection命名空間是引用Missing.Value缺省值.
//引用word對象類庫和命名空間 using MSWord = Microsoft.Office.Interop.Word; using System.IO; using System.Reflection;添加源程序代碼如下所示:
namespace PDFTest {public partial class Form1 : Form{public Form1(){InitializeComponent();}object path; //聲明文件路徑變量string wordstr; //聲明word文檔內容MSWord.Application wordApp; //聲明word應用程序變量MSWord.Document worddoc; //聲明word文檔變量 //點擊"創建"按鈕實現創建word文件private void button1_Click(object sender, EventArgs e){if (textBox1.Text == "" || textBox2.Text == ""){MessageBox.Show("請輸入路徑和文檔名信息");}else{ //初始化變量object Nothing = Missing.Value; //COM調用時用于占位object format = MSWord.WdSaveFormat.wdFormatDocument; //Word文檔的保存格式wordApp = new MSWord.ApplicationClass(); //聲明一個wordAPP對象worddoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);//向文檔中寫入內容wordstr = textBox3.Text;worddoc.Paragraphs.Last.Range.Text = wordstr;//保存文檔path = textBox2.Text + "\\" + textBox1.Text; //設置文件保存路勁worddoc.SaveAs(ref path, ref format, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);? //關閉文檔worddoc.Close(ref Nothing, ref Nothing, ref Nothing); //關閉worddoc文檔對象wordApp.Quit(ref Nothing, ref Nothing, ref Nothing); //關閉wordApp組對象MessageBox.Show("文檔創建成功!");}} } }四.運行結果
點擊運行,輸入如上圖界面中的內容,會在G:\路徑下創建一個test.doc的word 2003的文件,并填寫內容.如下圖所示:
五.錯誤與分析
在運行前可能會出現錯誤提示:無法嵌入互操作類型"Microsoft.Office.Interop.Word.ApplicationClass".解決方法是:在Visual Studio 中點擊菜單項"視圖->解決方案資源管理器"在其中點開"引用"文件夾,在"Microsoft.Office.Interop.Word" 上點擊鼠標右鍵選擇"屬性".將屬性中的"嵌入互操作類型"的值改為"false"即可.如下圖所示:
同時代碼中的object Nothing = Missing.Value表示缺少的值,在使用C#->COM時某個參數不會被使用時用于占位,類似于C++中NULL,但C#中null與它不同,所以當你調用COM使傳空或占位就需要該代碼實現相同的功能.注意Missing.Value的命名空間在System.Reflection中.通常Microsoft Word 11.0 Object Library對應Word 2003,Microsoft Word 12.0 Object Library對應Word 2007,如果想創建docx文檔,設置word格式時為object format =MSWord.WdSaveFormat.wdFormatDocumentDefault.
六.總結
最后推薦大家看看這篇博客,它詳細介紹了C#操作office文檔.http://blog.csdn.net/wudi626/article/details/2337857同時我上面的知識也參看了一些博客,還有劉麗霞等編寫的《C#范例開發大全》,在此感謝這些人.這篇文章主要是在做數據庫系統中要引用到打印報表,顯示為pdf|word格式,所以才寫了該文章,后面還想寫一篇關于word中插入表格和圖片的word操作,至于頁面布局等我不想涉及,但思想都是一致的.希望文章對大家有幫助,同時有不足或錯誤的地方,見諒!
(By:Eastmount 2013-9-6 下午4點http://blog.csdn.net/eastmount/)
?
總結
以上是生活随笔為你收集整理的C# VS2012操作word文档 (一).创建文档的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: C# 连接SQLServer数据库及登录
 - 下一篇: C# VS2012操作word文档 (二