淺析C#編程實現動態生成Word文檔_.Net教程
推薦:淺析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的研究。 最近
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發送Email實例(可帶附件)
- js實現廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現
- Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面傳值測試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-淺析C#編程實現動態生成Word文檔。