免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
如何利用C#實(shí)現(xiàn)在Word中插入豎排文字
最近在做一個(gè)項(xiàng)目,需要利用Word做為打印模板,不過(guò)客戶給出的報(bào)表樣式中有些數(shù)據(jù)是豎排輸出的,但大部分的文檔示例中,對(duì)此均未提及。經(jīng)過(guò)摸索發(fā)現(xiàn)豎排文字,其實(shí)與橫排文字的控制輸出是一致的,只需做設(shè)置即可。實(shí)現(xiàn)步驟如下:
1.創(chuàng)建打印模板文件(*.dot)
  此為關(guān)鍵步驟,在需要豎排的地方,先文字的字體、樣式設(shè)置后,然后設(shè)置文字方向,再選擇該段文字,為其插入一個(gè)書簽(BookMark),并為該書簽命名。
2.利用C#打開(kāi),替換該書簽即可,代碼如下:
注意使用以下代碼時(shí),需要引入Word庫(kù)

    Word.ApplicationClass App = null;    //Word應(yīng)用程序?qū)ο?br>  Word.Document doc = null;                         //Word文檔對(duì)象
  object missing = System.Reflection.Missing.Value;
    object miss=Type.Missing;
  if (App==null)    App = new Word.ApplicationClass();//創(chuàng)建word對(duì)象
  App.Visible = false;  //設(shè)置word不可見(jiàn)
  //根據(jù)模板創(chuàng)建新文檔,不過(guò)這個(gè)模板文件的名稱放置在app.config文件中
  object oTemplate = ConfigurationSettings.AppSettings["TemplateOfLetter"];//獲取文件名
doc = App.Documents.Add(ref oTemplate, ref missing,ref missing, ref missing);//創(chuàng)建新文檔
doc.Activate();//激活文檔
Object objBookMark = "姓名";//姓 名 創(chuàng)建書簽對(duì)象
string name="張三";
doc.Bookmarks.get_Item(ref objBookMark).Range.Text =name;//替換該書簽,可為任意值了
//打印輸出
doc.PrintOut( ref missing,ref missing,ref missing,ref missing,ref missing,ref missing,
    ref missing,ref missing,ref missing,ref missing,ref missing,ref missing,ref missing,
    ref missing,ref missing,ref missing,ref missing,ref missing);
//關(guān)閉新創(chuàng)建的文檔
object SaveChanges  = Word.WdSaveOptions.wdDoNotSaveChanges;//創(chuàng)建關(guān)閉選項(xiàng)
  if (doc!=null)
    doc.Close( ref SaveChanges, ref missing, ref missing);
  //退出Word 
  if (App!=null)
      App.Application.Quit(ref miss, ref miss, ref miss);
  App=null;
  doc = null;


  3.注意事項(xiàng)
a)在控制Word時(shí),應(yīng)注意釋放已占用的word對(duì)象,所以上述代碼最好寫在try/catch/finally中,把資源釋放代碼寫在finally中
b)如果在word中用多個(gè)文字需要豎排,最好使用表格或文本框?qū)ο?,?qiáng)烈建議使用文本框?qū)ο髞?lái)放置豎排文本,這樣不會(huì)影響頁(yè)面設(shè)置,而單純的豎排文字方向會(huì)導(dǎo)致整個(gè)頁(yè)面全部文字變成豎排,不利用其他文本的放置
c)如果需要一次性生成多個(gè)文檔并打印輸出的話,可以考慮使用多線程技術(shù),并利用進(jìn)度欄進(jìn)行進(jìn)度顯示,該部分內(nèi)容不在本主題的討論范圍。
d)關(guān)于效率問(wèn)題,操作word進(jìn)行文檔輸出,其效率并不算高,但好在word的使用范圍廣,不需要在客戶的機(jī)器上另行安裝其他報(bào)表工具,且用戶有能力對(duì)報(bào)表模板進(jìn)行樣式及不涉及數(shù)據(jù)輸出等小范圍的頁(yè)面調(diào)整,并且用戶較為熟悉,打印控制也較為方便,如果不是對(duì)效率有太高的要求,使用Word做為打印模板是比較合適,自已的程序的測(cè)試數(shù)據(jù),生成3879個(gè)文件并打印輸出,用時(shí)3223秒,基本上是0.9秒生成并輸出一個(gè),考慮到打印機(jī)的速度(目前打印機(jī),能達(dá)到30張/s的都算是很快的了),這樣的效率是完全可以接受的。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
C#讀取Word文檔內(nèi)容 | 胡航飛博客
HOW TO:利用 Visual C# .NET 使 Word 自動(dòng)新建文檔
Word文檔輸入豎排文字怎么簡(jiǎn)單,教你8秒鐘搞定
如何使word文檔中文字豎排
在WORD里制作試卷的密封線,以及密封線以內(nèi)的內(nèi)容
在豎排word中右邊看不出如何處理
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服