国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > .NET > 正文

asp.net下將頁(yè)面內(nèi)容導(dǎo)入到word模板中的方法

2020-01-18 00:45:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
1,新建word模版,方法是找需要用程序填充的word文檔,在需要輸入的地方用"書(shū)簽"(插入-->書(shū)簽-->輸入id-->ok)標(biāo)記后保存既可.
2,在word模版上修改安全添加everyone 可讀,以防文件無(wú)法打開(kāi).
3,在工程里添加"引用"找到"Microsoft Word 10.0 Object Library"或"Microsoft Word 11.0 Object Library"點(diǎn)確定.
4,新建類叫WordOp.cs 意思是操作word的類.
內(nèi)容如下:
復(fù)制代碼 代碼如下:

using System;
using System.Web.Security;
using Microsoft.Office.Interop.Word;
using System.IO;
/// <summary>
/// Word 的摘要說(shuō)明
/// </summary>
public class WordOp
{
public WordOp()
{
//
// TODO: 在此處添加構(gòu)造函數(shù)邏輯
//
}
private ApplicationClass WordApp ;
private Document WordDoc;
private static bool isOpened=false;//判斷word模版是否被占用
public void SaveAs(string strFileName,bool isReplace)
{
if (isReplace && File.Exists(strFileName))
{
File.Delete(strFileName);
}
object missing = Type.Missing;
object fileName = strFileName;
WordDoc.SaveAs(ref fileName, 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);
}
//定義一個(gè)Word.Application 對(duì)象
public void activeWordApp()
{
WordApp = new ApplicationClass();
}
public void Quit()
{
object missing = System.Reflection.Missing.Value;
WordApp.Application.Quit(ref missing, ref missing, ref missing);
isOpened = false;
}
//基于模版新建Word文件
public void OpenTempelte(string strTemppath)
{
object Missing = Type.Missing;
//object Missing = System.Reflection.Missing.Value;
activeWordApp();
WordApp.Visible = false;
object oTemplate = (object)strTemppath;
try
{
while (isOpened)
{
System.Threading.Thread.Sleep(500);
}
WordDoc = WordApp.Documents.Add(ref oTemplate, ref Missing, ref Missing, ref Missing);
isOpened = true;
WordDoc.Activate();
}
catch (Exception Ex)
{
Quit();
isOpened = false;
throw new Exception(Ex.Message);
}
}
public void FillLable(string LabelId,string Content)
{
//打開(kāi)Word模版
// OpenTempelte(tempName); //對(duì)LabelId的標(biāo)簽進(jìn)行填充內(nèi)容Content,即函件題目項(xiàng)
object bkmC = LabelId;
if (WordApp.ActiveDocument.Bookmarks.Exists(LabelId) == true)
{
WordApp.ActiveDocument.Bookmarks.get_Item(ref bkmC).Select();
}
WordApp.Selection.TypeText(Content);
//SaveAs(saveAsFileName);
//Quit();
}
}

5,在需要使用的頁(yè)面后臺(tái)調(diào)用既可,舉例如下:
復(fù)制代碼 代碼如下:

string path = Server.MapPath("download");
string templatePath = path + "file://downloadczql.doc/";
WordOp wop = new WordOp();
wop.OpenTempelte(templatePath);
wop.FillLable("id", "1");
wop.FillLable("usr_name", "測(cè)試");
wop.SaveAs(path + "file://savetest.doc",true/);
wop.Quit();
Response.redirect(@"/download/savetest.doc");//做個(gè)跳轉(zhuǎn)用于下載.
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大英县| 兴业县| 四子王旗| 德清县| 海淀区| 平武县| 应用必备| 禹州市| 驻马店市| 崇阳县| 永济市| 安国市| 洛阳市| 大化| 浦江县| 扶绥县| 安乡县| 宁南县| 浦东新区| 仙居县| 绵阳市| 上高县| 中卫市| 泗水县| 当雄县| 山丹县| 阿合奇县| 洪湖市| 鹿邑县| 林州市| 黄山市| 通城县| 河北省| 且末县| 吴旗县| 淮南市| 黎川县| 象州县| 安西县| 观塘区| 镇康县|