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

首頁 > 編程 > .NET > 正文

asp.net下將頁面內容導入到word模板中的方法

2024-07-10 13:25:33
字體:
來源:轉載
供稿:網友
1,新建word模版,方法是找需要用程序填充的word文檔,在需要輸入的地方用"書簽"(插入-->書簽-->輸入id-->ok)標記后保存既可.
2,在word模版上修改安全添加everyone 可讀,以防文件無法打開.
3,在工程里添加"引用"找到"Microsoft Word 10.0 Object Library"或"Microsoft Word 11.0 Object Library"點確定.
4,新建類叫WordOp.cs 意思是操作word的類.
內容如下:

復制代碼 代碼如下:


using System;
using System.Web.Security;
using Microsoft.Office.Interop.Word;
using System.IO;
/// <summary>
/// Word 的摘要說明
/// </summary>
public class WordOp
{
public WordOp()
{
//
// TODO: 在此處添加構造函數邏輯
//
}
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);
}
//定義一個Word.Application 對象
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)
{
//打開Word模版
// OpenTempelte(tempName); //對LabelId的標簽進行填充內容Content,即函件題目項
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,在需要使用的頁面后臺調用既可,舉例如下:

復制代碼 代碼如下:


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", "測試");
wop.SaveAs(path + "file://savetest.doc",true/);
wop.Quit();
Response.redirect(@"/download/savetest.doc");//做個跳轉用于下載.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新和县| 厦门市| 潢川县| 合川市| 历史| 连平县| 永年县| 新巴尔虎左旗| 衡东县| 柳州市| 河源市| 东台市| 新和县| 江山市| 巴彦淖尔市| 承德市| 两当县| 新昌县| 柳江县| 保山市| 伊宁县| 丰镇市| 兴隆县| 汾西县| 鄯善县| 姜堰市| 庆安县| 定陶县| 呼玛县| 广西| 怀化市| 光山县| 无锡市| 天水市| 道真| 黑山县| 阜平县| 哈密市| 龙里县| 新乡市| 翁牛特旗|