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

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

C#簡單實現(xiàn)動態(tài)數(shù)據(jù)生成Word文檔并保存

2019-11-14 13:38:53
字體:
供稿:網(wǎng)友

今天正好有人問我,怎么生成一個報表式的Word文檔。

就是文字的樣式和位置相對固定不變,只是里面的內(nèi)容從數(shù)據(jù)中讀取。

我覺得類似這種的一般用第三方報表來做比較簡便。但既然要求了Word,只好硬著頭皮來。

網(wǎng)上的方法大多數(shù)都是從一個GridView或表中獲得數(shù)據(jù)后向Word中添加一個表格。

目標效果

(圖1)

我們使用Word模板來實現(xiàn),方法如下:

1、首先需要向工程中的“引用”加入Word類庫的引用(圖2)。我是Office 2003。其他版本可能略有不同。在COM里面

WORD DLL

(圖2)

2、用Word設(shè)計一個模板文檔(后綴名*.dot)。(圖3)

設(shè)計模板

(圖3)

3、向模板中的需要顯示動態(tài)內(nèi)容的地方添加書簽。具體方法是。光標落到欲插入內(nèi)容的地方,選擇菜單欄上的“插入”——〉“書簽”(圖4)

添加“備注”的書簽

(圖4)在“備注:”的后面添加一個書簽,名字叫"beizhu"。書簽名字不能以數(shù)字開頭。

4、完成全部書簽的添加,依次應(yīng)該是:

 

位置書簽名
備注右側(cè)beizhu
姓名右側(cè)單元格name
性別右側(cè)單元格sex
生日右側(cè)單元格birthday
籍貫右側(cè)單元格hometown

5、保存這個已完成的模板到任意路徑,例如 X:/template.dot

6、在工程的窗體的類中添加引用的命名空間

7、為了省事,直接在窗體的Load事件中加入以下代碼。

 

 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using Microsoft.Office.Interop.Word;10 11 namespace 生成word文檔12 {13     public partial class Form1 : Form14     {15         public Form1()16         {17             InitializeComponent();18             Load += Form1_Load;19         }20 21         void Form1_Load(object sender, EventArgs e)22         {23             //**********************************************24             //來自博客http://blog.csdn.net/fujie72425             //**********************************************26             object oMissing = System.Reflection.Missing.Value;27             //創(chuàng)建一個Word應(yīng)用程序?qū)嵗?/span>28             Microsoft.Office.Interop.Word._application oWord = new Microsoft.Office.Interop.Word.Application();29             //設(shè)置為不可見30             oWord.Visible = false;31             //模板文件地址,這里假設(shè)在X盤根目錄32             object oTemplate = "d://template.dotx";33             //以模板為基礎(chǔ)生成文檔34             Microsoft.Office.Interop.Word._Document oDoc = oWord.Documents.Add(ref oTemplate, ref oMissing, ref oMissing, ref oMissing);35             //聲明書簽數(shù)組36             object[] oBookMark = new object[5];37             //賦值書簽名38             oBookMark[0] = "beizhu";39             oBookMark[1] = "name";40             oBookMark[2] = "sex";41             oBookMark[3] = "birthday";42             oBookMark[4] = "hometown";43             //賦值任意數(shù)據(jù)到書簽的位置44             oDoc.Bookmarks.get_Item(ref oBookMark[0]).Range.Text = "使用模板實現(xiàn)Word生成";45             oDoc.Bookmarks.get_Item(ref oBookMark[1]).Range.Text = "李四";46             oDoc.Bookmarks.get_Item(ref oBookMark[2]).Range.Text = "";47             oDoc.Bookmarks.get_Item(ref oBookMark[3]).Range.Text = "1987.06.07";48             oDoc.Bookmarks.get_Item(ref oBookMark[4]).Range.Text = "賀州";49             //彈出保存文件對話框,保存生成的Word50             SaveFileDialog sfd = new SaveFileDialog();51             sfd.Filter = "Word Document(*.doc)|*.doc";52             sfd.DefaultExt = "Word Document(*.doc)|*.doc";53             if (sfd.ShowDialog() == DialogResult.OK)54             {55                 object filename = sfd.FileName;56 57                 oDoc.SaveAs(ref filename, ref oMissing, ref oMissing, ref oMissing,58                 ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,59                 ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,60                 ref oMissing, ref oMissing);61                 oDoc.Close(ref oMissing, ref oMissing, ref oMissing);62                 //關(guān)閉word63                 oWord.Quit(ref oMissing, ref oMissing, ref oMissing);64             }65         }66     }67 }

 

8、運行后直接彈出保存文件對話框(因為寫在了Load事件里)。保存為Doc文檔,打開發(fā)現(xiàn)效果如下(圖5)

最后效果

(圖5)

至此,大功告成,文檔中的內(nèi)容正是我們所設(shè)定的。一個簡單而又快捷的固定格式Word文檔輸出就完成了。

 

希望對需要的朋友有幫助。

 

以上完整教程為個人勞動成果,轉(zhuǎn)載請注明出處。謝謝。

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产手机av在线 | 中文字幕免费看 | 成人做爰高潮片免费视频美国 | 国产免费一区 | 国产精品久久久久久久久久尿 | 国产一区不卡 | 黄网站在线免费看 | 久久九九热re6这里有精品 | 一区二区三区视频在线播放 | 日本一区视频在线观看 | 欧美日韩精品一区二区三区蜜桃 | 激情小说另类 | 蜜桃91丨九色丨蝌蚪91桃色 | 一区二区三区视频在线播放 | 国产成人精品一区二区仙踪林 | 舌头伸进添的我好爽高潮网站 | 国产91久久久久久 | 姑娘第5集高清在线观看 | 福利在线小视频 | 国产精品一区在线免费观看 | 一级黄色在线免费观看 | 一级一级一级毛片 | 涩涩操 | 久久精品国产清自在天天线 | 国产精品久久久久无码av | 国产一区二区不卡视频 | 久久免费观看一级毛片 | 国产乱子视频 | 欧美精品久久久久久久多人混战 | 操操影视 | 特级毛片a级毛片100免费 | 欧美日韩综合视频 | 国产精品jk白丝蜜臀av软件 | 91精品国产日韩91久久久久久360 | 国产精品久久久网站 | av电影在线免费 | 黄污在线观看 | 九九热视频免费 | 久久超 | 电影91| 欧美视频不卡 |