麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C# > 正文

C#編程實現動態生成Word文檔

2023-05-18 12:33:11
字體:
來源:轉載
供稿:網友

如何用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; // 水平居中

// 填充表格內容

    newTable.Cell( 2 ,  1 ).Range.Text  =   " 產品基本信息 " ;

    newTable.Cell( 2 ,  1 ).Range.Font.Color  =  Word.WdColor.wdColorDarkBlue; // 設置單元格內字體顏色

    // 合并單元格

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

    WordApp.Selection.Cells.VerticalAlignment  =  Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;

    // 填充表格內容

    newTable.Cell( 3 ,  1 ).Range.Text  =   " 品牌名稱: " ;

    newTable.Cell( 3 ,  2 ).Range.Text  =  BrandName;

    // 縱向合并單元格

    newTable.Cell( 3 ,  3 ).Select(); // 選中一行

    object  moveUnit  =  Word.WdUnits.wdLine;

    object  moveCount  =   5 ;

    object  moveExtend  =  Word.WdMovementType.wdExtend;

    WordApp.Selection.MoveDown( ref  moveUnit,  ref  moveCount,  ref  moveExtend);

    WordApp.Selection.Cells.Merge();

    // 插入圖片

    string  FileName  =  Picture; // 圖片所在路徑

    object  LinkToFile  =   false ;

    object  SaveWithDocument  =   true ;

    object  Anchor  =  WordDoc.Application.Selection.Range;

    WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName,  ref  LinkToFile,  ref  SaveWithDocument,  ref  Anchor);

    WordDoc.Application.ActiveDocument.InlineShapes[ 1 ].Width  =  100f; // 圖片寬度

    WordDoc.Application.ActiveDocument.InlineShapes[ 1 ].Height  =  100f; // 圖片高度

    // 將圖片設置為四周環繞型

    Word.Shape s  =  WordDoc.Application.ActiveDocument.InlineShapes[ 1 ].ConvertToShape();

    s.WrapFormat.Type  =  Word.WdWrapType.wdWrapSquare;

    newTable.Cell( 12 ,  1 ).Range.Text  =   " 產品特殊屬性 " ;

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

    // 在表格中增加行

    WordDoc.Content.Tables[ 1 ].Rows.Add( ref  Nothing);

    WordDoc.Paragraphs.Last.Range.Text  =   " 文檔創建時間: "   +  DateTime.Now.ToString(); // “落款”

    WordDoc.Paragraphs.Last.Alignment  =  Word.WdParagraphAlignment.wdAlignParagraphRight;

    // 文件保存

    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);

    WordDoc.Close( ref  Nothing,  ref  Nothing,  ref  Nothing);

    WordApp.Quit( ref  Nothing,  ref  Nothing,  ref  Nothing);

    message = name + " 文檔生成成功,以保存到C:CNSI下 " ;

    }

    catch

    ... {

    message  =   " 文件導出異常! " ;

    }

    return  message;

    }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级美女大片 | 日本娇小videos高潮 | 黄色二区三区 | 黑人一区二区三区四区五区 | free台湾极品性hd | 天天色人人爱 | 亚洲二区不卡 | 黄色特级一级片 | 国产精品999在线观看 | avav在线播放| 视频一区二区三区在线播放 | 男男羞羞视频网站国产 | 久草在线资源视频 | 精品久久久久久久久久久αⅴ | 国产精品久久久久久久久久久天堂 | 久久久久久久九九九九 | 国产影院一区 | 在线a毛片免费视频观看 | 日本欧美国产 | 久久久综合 | 亚洲一区在线观看视频 | 日韩欧美激情视频 | 成人免费一区二区三区在线观看 | 天天看成人免费毛片视频 | 欧美一区二区三区久久精品视 | 97色在线观看免费视频 | 国产精品18久久久久久久久 | 天堂福利电影 | 国产精品免费麻豆入口 | 久久久tv| 最新国产毛片 | 91重口视频 | 日韩a毛片免费观看 | 欧美一区二区黄 | 91性高湖久久久久久久久网站 | 毛片在哪看 | 国产资源在线观看视频 | 欧美高清一级片 | 亚洲国产超高清a毛毛片 | 亚洲一区动漫 | 宅男噜噜噜66国产在线观看 |