淺析C#編程實現動態生成Word文檔_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:淺析Asp.net2.0之自定義控件ImageButton
      前言 上個星期三開始學自定義控件,做了不少練習;艘簧衔鐣r間寫了一個imageButton,以前就像寫這個控件,只是不會。 圖片 正文 這個控件模仿winform中的button,可以支持圖片和文字?梢赃x擇執行服務器端程序還是客戶端程序,還有一些簡單的設置。 不足

          如何用C#編程實現動態生成Word文檔并填充數據的效果呢?要使用C#操作word,首先要添加引用:

          1、添加引用->COM->Microsoft Word 11.0 Object Library

          2、在.cs文件中添加

          using  Word;

          下面的例子中包括C#對Word文檔的創建、插入表格、設置樣式等操作:

          (例子中代碼有些涉及數據信息部分被省略,重要是介紹一些C#操作word文檔的方法)

          public   string  CreateWordFile( string  CheckedInfo)

          ... {

          string  message  =   "" ;

          try

          ... {

          Object Nothing  =  System.Reflection.Missing.Value;

          Directory.CreateDirectory( " C:/CNSI " );   // 創建文件所在目錄

          string  name  =   " CNSI_ "   +  DateTime.Now.ToShortString() + " .doc " ;

          object  filename  =   " C://CNSI// "   +  name;   // 文件保存路徑

          // 創建Word文檔

          Word.Application WordApp  =   new  Word.ApplicationClass();

          Word.Document WordDoc  =  WordApp.Documents.Add( ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing);

          // 添加頁眉

          WordApp.ActiveWindow.View.Type  =  WdViewType.wdOutlineView;

          WordApp.ActiveWindow.View.SeekView  =  WdSeekView.wdSeekPrimaryHeader;

          WordApp.ActiveWindow.ActivePane.Selection.InsertAfter( " [頁眉內容] " );

          WordApp.Selection.ParagraphFormat.Alignment  =  Word.WdParagraphAlignment.wdAlignParagraphRight; // 設置右對齊

          WordApp.ActiveWindow.View.SeekView  =  WdSeekView.wdSeekMainDocument; // 跳出頁眉設置

          WordApp.Selection.ParagraphFormat.LineSpacing  =  15f; // 設置文檔的行間距

          // 移動焦點并換行

          object  count  =   14 ;

          object  WdLine  =  Word.WdUnits.wdLine; // 換一行;

          WordApp.Selection.MoveDown( ref  WdLine,  ref  count,  ref  Nothing); // 移動焦點

          WordApp.Selection.TypeParagraph(); // 插入段落

          // 文檔中創建表格

          Word.Table newTable  =  WordDoc.Tables.Add(WordApp.Selection.Range,  12 ,  3 ,  ref  Nothing,  ref  Nothing);

          // 設置表格樣式

          newTable.Borders.OutsideLineStyle  =  Word.WdLineStyle.wdLineStyleThickThinLargeGap;

          newTable.Borders.InsideLineStyle  =  Word.WdLineStyle.wdLineStyleSingle;

          newTable.Columns[ 1 ].Width  =  100f;

          newTable.Columns[ 2 ].Width  =  220f;

          newTable.Columns[ 3 ].Width  =  105f;

          // 填充表格內容

          newTable.Cell( 1 ,  1 ).Range.Text  =   " 產品詳細信息表 " ;

          newTable.Cell( 1 ,  1 ).Range.Bold  =   2 ; // 設置單元格中字體為粗體

          // 合并單元格

          newTable.Cell( 1 ,  1 ).Merge(newTable.Cell( 1 ,  3 ));

          WordApp.Selection.Cells.VerticalAlignment  =  Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter; // 垂直居中

          WordApp.Selection.ParagraphFormat.Alignment  =  Word.WdParagraphAlignment.wdAlignParagraphCenter; // 水平居中

       

       

      分享:淺談.net程序員,該不該學IL?
      最近一直在思考一個問題,那就是.net程序員的發展,應該往上走還是往下走的事情。所謂往上走,我的理解是朝著系統架構方向發展,從原來的編碼工作轉向架構、設計、分析等等工作。 而往下走,是研究.net底層原理和實現,可能大部分就是對IL和CLR的研究。 最近

      共2頁上一頁12下一頁
      來源:模板無憂//所屬分類:.Net教程/更新時間:2009-10-04
      相關.Net教程