自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#動態(tài)生成Word文檔并填充數(shù)據(jù)

開發(fā) 后端
本文介紹了實現(xiàn)C#動態(tài)生成Word文檔的步驟,供大家參考。

C#動態(tài)生成Word文檔步驟之一:添加引用->COM->Microsoft Word 11.0 Object Library

C#動態(tài)生成Word文檔步驟之二:在.cs文件中添加 using  Word;

下面的例子中包括C#對Word文檔的創(chuàng)建、插入表格、設置樣式等操作: (例子中代碼有些涉及數(shù)據(jù)信息部分被省略,重要是介紹一些C#操作word文檔的方法)

         

  1. public   string  CreateWordFile( string  CheckedInfo)  
  2.          ... {  
  3.             string  message  =   "" ;  
  4.             try   
  5.              ... {  
  6.                Object Nothing  =  System.Reflection.Missing.Value;  
  7.                Directory.CreateDirectory( " C:/CNSI " );   // 創(chuàng)建文件所在目錄   
  8.                 string  name  =   " CNSI_ "   +  DateTime.Now.ToShortString() + " .doc " ;  
  9.                 object  filename  =   " C://CNSI// "   +  name;   // 文件保存路徑  
  10.                 // 創(chuàng)建Word文檔   
  11.                Word.Application WordApp  =   new  Word.ApplicationClass();  
  12.                Word.Document WordDoc  =  WordApp.Documents.Add( ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing);  
  13.  
  14.                 // 添加頁眉   
  15.                WordApp.ActiveWindow.View.Type  =  WdViewType.wdOutlineView;  
  16.                WordApp.ActiveWindow.View.SeekView  =  WdSeekView.wdSeekPrimaryHeader;  
  17.                WordApp.ActiveWindow.ActivePane.Selection.InsertAfter( " [頁眉內(nèi)容] " );  
  18.                WordApp.Selection.ParagraphFormat.Alignment  =  Word.WdParagraphAlignment.wdAlignParagraphRight; // 設置右對齊   
  19.                WordApp.ActiveWindow.View.SeekView  =  WdSeekView.wdSeekMainDocument; // 跳出頁眉設置   
  20.  
  21.                WordApp.Selection.ParagraphFormat.LineSpacing  =  15f; // 設置文檔的行間距  
  22.  
  23.                 // 移動焦點并換行   
  24.                 object  count  =   14 ;  
  25.                 object  WdLine  =  Word.WdUnits.wdLine; // 換一行;   
  26.                 WordApp.Selection.MoveDown( ref  WdLine,  ref  count,  ref  Nothing); // 移動焦點   
  27.                 WordApp.Selection.TypeParagraph(); // 插入段落  
  28.  
  29.                  // 文檔中創(chuàng)建表格   
  30.                 Word.Table newTable  =  WordDoc.Tables.Add(WordApp.Selection.Range,  12 ,  3 ,  ref  Nothing,  ref  Nothing);  
  31.                  // 設置表格樣式   
  32.                 newTable.Borders.OutsideLineStyle  =  Word.WdLineStyle.wdLineStyleThickThinLargeGap;  
  33.                 newTable.Borders.InsideLineStyle  =  Word.WdLineStyle.wdLineStyleSingle;  
  34.                 newTable.Columns[ 1 ].Width  =  100f;  
  35.                 newTable.Columns[ 2 ].Width  =  220f;  
  36.                 newTable.Columns[ 3 ].Width  =  105f;  
  37.  
  38.                  // 填充表格內(nèi)容   
  39.                 newTable.Cell( 1 ,  1 ).Range.Text  =   " 產(chǎn)品詳細信息表 " ;  
  40.                 newTable.Cell( 1 ,  1 ).Range.Bold  =   2 ; // 設置單元格中字體為粗體  
  41.                  // 合并單元格   
  42.                 newTable.Cell( 1 ,  1 ).Merge(newTable.Cell( 1 ,  3 ));  
  43.                 WordApp.Selection.Cells.VerticalAlignment  =  Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter; // 垂直居中   
  44.                 WordApp.Selection.ParagraphFormat.Alignment  =  Word.WdParagraphAlignment.wdAlignParagraphCenter; // 水平居中  
  45.                          
  46.                  // 填充表格內(nèi)容   
  47.                 newTable.Cell( 2 ,  1 ).Range.Text  =   " 產(chǎn)品基本信息 " ;  
  48.                 newTable.Cell( 2 ,  1 ).Range.Font.Color  =  Word.WdColor.wdColorDarkBlue; // 設置單元格內(nèi)字體顏色  
  49.                  // 合并單元格   
  50.                 newTable.Cell( 2 ,  1 ).Merge(newTable.Cell( 2 ,  3 ));  
  51.                 WordApp.Selection.Cells.VerticalAlignment  =  Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;  
  52.  
  53.                   // 填充表格內(nèi)容   
  54.                  newTable.Cell( 3 ,  1 ).Range.Text  =   " 品牌名稱: " ;  
  55.                  newTable.Cell( 3 ,  2 ).Range.Text  =  BrandName;  
  56.                   // 縱向合并單元格   
  57.                  newTable.Cell( 3 ,  3 ).Select(); // 選中一行   
  58.                   object  moveUnit  =  Word.WdUnits.wdLine;  
  59.                   object  moveCount  =   5 ;  
  60.                   object  moveExtend  =  Word.WdMovementType.wdExtend;  
  61.                   WordApp.Selection.MoveDown( ref  moveUnit,  ref  moveCount,  ref  moveExtend);  
  62.                   WordApp.Selection.Cells.Merge();  
  63.                    // 插入圖片   
  64.                    string  FileName  =  Picture; // 圖片所在路徑   
  65.                    object  LinkToFile  =   false ;  
  66.                    object  SaveWithDocument  =   true ;  
  67.                    object  Anchor  =  WordDoc.Application.Selection.Range;  
  68.                   WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName,  ref  LinkToFile,  ref  SaveWithDocument,  ref  Anchor);  
  69.                    WordDoc.Application.ActiveDocument.InlineShapes[ 1 ].Width  =  100f; // 圖片寬度   
  70.                    WordDoc.Application.ActiveDocument.InlineShapes[ 1 ].Height  =  100f; // 圖片高度  
  71.                     // 將圖片設置為四周環(huán)繞型   
  72.                    Word.Shape s  =  WordDoc.Application.ActiveDocument.InlineShapes[ 1 ].ConvertToShape();  
  73.                    s.WrapFormat.Type  =  Word.WdWrapType.wdWrapSquare;  
  74.                          
  75.                    newTable.Cell( 12 ,  1 ).Range.Text  =   " 產(chǎn)品特殊屬性 " ;  
  76.                    newTable.Cell( 12 ,  1 ).Merge(newTable.Cell( 12 ,  3 ));  
  77.                      // 在表格中增加行   
  78.                     WordDoc.Content.Tables[ 1 ].Rows.Add( ref  Nothing);  
  79.                        
  80.                     WordDoc.Paragraphs.Last.Range.Text  =   " 文檔創(chuàng)建時間: "   +  DateTime.Now.ToString(); // “落款”   
  81.                     WordDoc.Paragraphs.Last.Alignment  =  Word.WdParagraphAlignment.wdAlignParagraphRight;  
  82.  
  83.                     // 文件保存   
  84.                    WordDoc.SaveAs( ref  filename,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing,  ref  Nothing);  
  85.                    WordDoc.Close( ref  Nothing,  ref  Nothing,  ref  Nothing);  
  86.                    WordApp.Quit( ref  Nothing,  ref  Nothing,  ref  Nothing);  
  87.                    message = name + " 文檔生成成功,以保存到C:CNSI下 " ;  
  88.            }   
  89.             catch   
  90.              ... {  
  91.                message  =   " 文件導出異常! " ;  
  92.            }   
  93.             return  message;  
  94.        }   

這樣,就實現(xiàn)了 C#動態(tài)生成Word文檔。

【編輯推薦】

  1. 關于C#知識點總結(jié)
  2. C#開發(fā)和使用中的33個技巧
  3. SQL Server存儲過程介紹
  4. C#下SQL Server 2008表類型參數(shù)傳遞
  5. C#向SQL Server中插入記錄時的問題
責任編輯:book05 來源: csdn
相關推薦

2009-09-01 13:51:51

C#創(chuàng)建Word文檔

2009-09-01 13:13:28

C#打開Word文檔

2009-08-28 17:34:14

讀取word文檔

2009-08-28 17:46:18

C#讀取Word文檔

2009-09-27 10:43:13

C#合并多個WORD文

2023-09-04 11:46:09

C#動態(tài)代碼

2024-03-06 08:52:59

C#Emit代碼

2009-08-19 10:16:15

C#操作Word

2009-09-14 13:57:20

C# Lambda表達Lambda表達式

2024-09-03 08:26:59

Spring格式模板

2009-08-13 16:44:45

C#數(shù)據(jù)轉(zhuǎn)換

2009-09-02 10:58:02

C#動態(tài)數(shù)組

2024-04-01 07:00:00

C#

2009-09-04 14:14:55

C#文檔

2009-08-18 17:08:50

C#編寫XML文檔

2009-08-24 17:24:28

C#創(chuàng)建XML文檔

2009-09-01 13:25:25

C#Word文檔替換

2011-06-23 09:13:20

JavaWord

2009-08-19 09:42:52

C#操作Word書簽

2009-09-01 11:21:02

C#讀取word內(nèi)容
點贊
收藏

51CTO技術棧公眾號