999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C#動態(tài)生成WORD文檔實現(xiàn)報表打印

2014-01-01 00:00:00李曉葉
消費(fèi)電子·下半月 2014年6期

摘 要:信息管理系統(tǒng)中的報表有大量的打印需求,而報表直接進(jìn)行打印存在著諸多限制,本文就在Visual Studio.NET環(huán)境下,使用C#動態(tài)生成報表對應(yīng)的word文檔,實現(xiàn)報表打印進(jìn)行了介紹。

關(guān)鍵詞:Visual Studio.NET;Oracle;Word;C#;報表;打印

中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-7712 (2014) 12-0000-01

信息管理系統(tǒng)中各種信息的體現(xiàn)主要依靠各種報表,報表時常需要打印,但報表直接進(jìn)行打印,效果往往不理想,而Office辦公軟件中的Word具有強(qiáng)大的打印功能,并且.NET環(huán)境也能與Office辦公軟件很好的結(jié)合起來,可以把報表動態(tài)生成為Word文檔后再打印。

一、開發(fā)環(huán)境

后臺數(shù)據(jù)庫使用Oracle Database 11g R2,前臺開發(fā)工具使用Visual C#.NET 2010,調(diào)用的Word文檔版本為Microsoft Office Word 2010。

二、配置Word

首先需要對Word進(jìn)行一些權(quán)限的配置,這是必需的。配置方法如下:

(一)配置DCOMCNFG

1.單擊“開始”|“運(yùn)行”,打開“運(yùn)行”對話框,輸入DCOMCNFG,單擊“確定”,打開“分布式COM配置屬性”對話框。在該對話框中,定位到“應(yīng)用程序”選項卡。

2.選中“Microsoft Word文檔”,單擊“屬性”,打開“Microsoft Word文檔屬性”對話框,定位到“安全性”選項卡,選擇“使用默認(rèn)的訪問權(quán)限”和“使用默認(rèn)的啟動權(quán)限”;然后定位到“身份標(biāo)識”選項卡,在“要使用哪個用戶帳戶來運(yùn)行該應(yīng)用程序?”下選中“交互式用戶”,單擊“確定”;回到“分布式COM配置屬性”對話框,“默認(rèn)安全機(jī)制”選項卡,單擊“默認(rèn)訪問權(quán)限”下的“編輯默認(rèn)值”按鈕,打開“注冊表值的權(quán)限”對話框,添加下列用戶:

SYSTEM

INTERACTIVE

Everyone

Administrators

IUSR_*

IWAM_*

每個用戶的訪問類型必須為“允許訪問”。單擊“確定”按鈕,完成該“注冊表值的權(quán)限”的設(shè)置。

3.單擊“默認(rèn)啟動權(quán)限”下的“編輯默認(rèn)值”添加相同的用戶。每個用戶的訪問類型必須為“允許訪問”。最后單擊“確定”按鈕,完成“分布式COM配置屬性”的配置。

(二)添加服務(wù)器的用戶ASP.NET到Administrators組

右擊“我的電腦”|“管理”|“本地用戶和組”|“用戶”,選中“ASPNET”,右擊打開“ASPNET屬性”對話框,定位到“隸屬于”選項卡,在“隸屬于”中加入“ADMINISTRATOR”。

(三)web.config設(shè)置

web.config文件需要加入以啟用模擬身份,啟用模擬身份后所有頁面將會使用匿名Internet用戶帳戶(IUSR_machinename)這個用戶名的權(quán)限執(zhí)行。

三、報表動態(tài)生成Word文檔

報表信息全部存儲在Oracle數(shù)據(jù)表中,頁面展示的報表是從數(shù)據(jù)表中讀取的。把報表生成其對應(yīng)的Word文檔,也就是創(chuàng)建一個Word文檔,把報表信息按相應(yīng)的格式顯示在Word文檔里,其實質(zhì)是創(chuàng)建一個Word文檔,從數(shù)據(jù)表中讀取報表信息后以報表形式顯示在Word文檔中。

(1)定義word文檔的表頭及形參;

(2)取得Word文件保存路徑并以系統(tǒng)時間命名Word文檔;

object dstFileName=@”d:\”+newname+”.docx”;

(3)定義一個名為wa的組件對象;

Word.ApplicationClass wa=1;

if(wa==1)

wa=new Word.ApplicationClass();

if(wa!=1)

wa.Visible=true;

(4)創(chuàng)建一個名為wordDoc的文檔對象:

missing=System.Reflection.Missing.Value;

Word.Document wordDoc=wa.Documents.Add(ref missing,ref missing,ref missing,ref missing);

(5)定義表頭及表格格式。格式的定義比較自由,例如可以定義表頭字體為“隸書”、字號為“18”、字體顏色為“藍(lán)色”、表格位置為“居中”等等。

(6)根據(jù)報表格式添加表格。此時可根據(jù)報表格式在Word文檔中規(guī)定生成相同行數(shù)和列數(shù)的表格,同時進(jìn)行單元格的合并。

Word.Table table=wordDoc.Tables.Add(wordDoc.Range(ref start,ref end),5,2,ref missing,ref missing);

table.Cell(2,2).Merge(table.Cell(2,3));

(7)取得當(dāng)前要打印報表的ID號鏈接數(shù)據(jù)庫,讀取數(shù)據(jù)表信息后顯示在相應(yīng)的位置;

(8)將wordDoc文檔對象的內(nèi)容保存為DOCX文檔;

(9)關(guān)閉wordDoc文檔對象;

(10)關(guān)閉wa組件對象。

本文提出的方法,實現(xiàn)了將一般的報表信息生成其對應(yīng)word文檔并自動保存,從而方便了報表信息的打印。該方法的靈活性和擴(kuò)展性都很強(qiáng),可以根據(jù)實際需要進(jìn)行相應(yīng)的修改以達(dá)到目的。

參考文獻(xiàn):

[1]馮慶東,楊麗.C#項目開發(fā)全程實錄(第3版)[M].北京:清華大學(xué)出版社,2013.

[2]何明.Oracle數(shù)據(jù)庫管理與開發(fā)[M].北京:清華大學(xué)出版社,2013.

[3](美)蘭多夫.Visual Studio 2010高級編程[M].任鴻,譯.北京:清華大學(xué)出版社,2012.

[作者簡介]李曉葉(1981-),女,河北藁城人,就職于石家莊機(jī)械化步兵學(xué)院計算機(jī)組,碩士研究生,講師,研究方向:計算機(jī)。

主站蜘蛛池模板: 成年A级毛片| 国产成人综合日韩精品无码不卡| 美臀人妻中出中文字幕在线| 四虎亚洲精品| 夜夜操天天摸| 婷婷99视频精品全部在线观看| 成人国产精品网站在线看| 亚洲香蕉久久| 2020极品精品国产| 亚洲区视频在线观看| 久久亚洲国产视频| 国产成人精品一区二区三区| 青青热久麻豆精品视频在线观看| 天堂成人在线| 99热国产这里只有精品9九| 欧美啪啪视频免码| 四虎精品黑人视频| 久久无码av三级| 久久精品无码一区二区日韩免费| 97亚洲色综久久精品| 国产成人综合亚洲欧洲色就色 | 国产高清精品在线91| 国产91高跟丝袜| 一级毛片网| AV网站中文| 日本手机在线视频| 亚洲最大福利视频网| 国产一区二区免费播放| aa级毛片毛片免费观看久| 亚洲精品黄| 日本成人不卡视频| 国产精品19p| 国内精品伊人久久久久7777人| 成人年鲁鲁在线观看视频| 在线观看亚洲成人| 亚洲综合色区在线播放2019| 国产精品19p| 福利小视频在线播放| 97国产成人无码精品久久久| 欧美日本激情| 久久人人97超碰人人澡爱香蕉| 国产欧美在线观看一区| 色婷婷视频在线| 亚洲精品日产AⅤ| 亚洲免费人成影院| 国产中文一区a级毛片视频| 亚洲第一成年网| 亚洲福利视频一区二区| 国产精品久久久久鬼色| 日韩欧美成人高清在线观看| 色婷婷色丁香| 亚洲成人黄色在线| 91小视频版在线观看www| 欧美综合一区二区三区| 91麻豆精品国产91久久久久| 日本道中文字幕久久一区| 国模私拍一区二区| 亚洲一道AV无码午夜福利| 亚洲综合激情另类专区| 在线精品欧美日韩| 制服无码网站| 熟妇丰满人妻| 色综合色国产热无码一| 亚洲成aⅴ人在线观看| 色综合中文综合网| 欧美一区二区三区国产精品| 国产网站免费看| 欧美一级在线看| 伊人91在线| 亚洲午夜天堂| 亚洲天堂成人| 97在线公开视频| 成年女人18毛片毛片免费| 日韩久草视频| 国产手机在线观看| 欧美不卡二区| 免费国产一级 片内射老| 亚洲综合色区在线播放2019| 午夜日b视频| 亚洲三级电影在线播放| 亚瑟天堂久久一区二区影院| 国产嫖妓91东北老熟女久久一|