using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Interop.Word;
using System.Web;
using System.IO;
namespace Report
{
/// <summary>
///
/// </summary>
class wordBookMark
{
/// <summary>
/// 给书签赋值
/// </summary>
/// <param name="doc">文档</param>
/// <param name="name">书签名称</param>
/// <param name="value">值(string)</param>
public static void SetBookMarksValue(Microsoft.Office.Interop.Word.Document doc, object name, string value)
{
if (doc.Bookmarks.Exists(name.ToString()))
{
foreach (Bookmark bm in doc.Bookmarks)
{
if (bm.Name == name.ToString())
{
//bm.Select();
bm.Range.Text = value;
}
}
}
}
}
/// <summary>
///
/// </summary>
public static class wordApp
{
public static object missing = System.Reflection.Missing.Value;
/// <summary>
/// 根据模板文件创建一个新文件并打开它
/// </summary>
/// <param name="TemplateFile"></param>
/// <param name="FileName"></param>
/// <param name="app"></param>
/// <param name="doc"></param>
public static void OpenDoc(string TemplateFile, string FileName, ref Microsoft.Office.Interop.Word.Application app, ref Microsoft.Office.Interop.Word.Document doc)
{
//模板文件拷贝到新文件
System.IO.File.Copy(TemplateFile, FileName,true);
object Obj_FileName = FileName;
object Visible = false;
object ReadOnly = false;
//打开文件
doc = app.Documents.Open(ref Obj_FileName,
ref missing, ref ReadOnly, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref Visible, ref missing, ref missing, ref missing, ref missing);
doc.Activate();
}
/// <summary>
/// 保存文档
/// </summary>
/// <param name="app"></param>
/// <param name="doc"></param>
public static void SaveDoc(Microsoft.Office.Interop.Word.Application app, Microsoft.Office.Interop.Word.Document doc)
{
//保存文档
object IsSave = true;
doc.Close(ref IsSave, ref missing, ref missing);
QuitWord(app, doc);
}
/// <summary>
/// word另存为htm文件
/// </summary>
/// <param name="FileName">FileUrl</param>
public static void SaveAsHtm(string FileUrl)
{
string FileName = HttpRuntime.BinDirectory + ".." + FileUrl;
string htmFileName = HttpRuntime.BinDirectory + "../pre/" + FileUrl.Substring(9,FileUrl.Length-12)+"htm";
Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document();
object Obj_FileName = FileName;
object Visible = false;
object ReadOnly = false;
doc = app.Documents.Open(ref Obj_FileName,
ref missing, ref ReadOnly, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref Visible, ref missing, ref missing, ref missing, ref missing);
doc.Activate();
object htmName = htmFileName;
object fileFormat = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatFilteredHTML;
doc.SaveAs(ref htmName, ref fileFormat);
QuitWord(app, doc);
}
/// <summary>
/// 释放word资源
/// </summary>
/// <param name="app"></param>
/// <param name="doc"></param>
public static void QuitWord(Microsoft.Office.Interop.Word.Application app, Microsoft.Office.Interop.Word.Document doc)
{
//释放word资源
app.Application.Quit(ref missing, ref missing, ref missing);
app = null;
doc = null;
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Office.Interop.Word;
using System.Web;
using System.IO;
namespace Report
{
/// <summary>
///
/// </summary>
class wordBookMark
{
/// <summary>
/// 给书签赋值
/// </summary>
/// <param name="doc">文档</param>
/// <param name="name">书签名称</param>
/// <param name="value">值(string)</param>
public static void SetBookMarksValue(Microsoft.Office.Interop.Word.Document doc, object name, string value)
{
if (doc.Bookmarks.Exists(name.ToString()))
{
foreach (Bookmark bm in doc.Bookmarks)
{
if (bm.Name == name.ToString())
{
//bm.Select();
bm.Range.Text = value;
}
}
}
}
}
/// <summary>
///
/// </summary>
public static class wordApp
{
public static object missing = System.Reflection.Missing.Value;
/// <summary>
/// 根据模板文件创建一个新文件并打开它
/// </summary>
/// <param name="TemplateFile"></param>
/// <param name="FileName"></param>
/// <param name="app"></param>
/// <param name="doc"></param>
public static void OpenDoc(string TemplateFile, string FileName, ref Microsoft.Office.Interop.Word.Application app, ref Microsoft.Office.Interop.Word.Document doc)
{
//模板文件拷贝到新文件
System.IO.File.Copy(TemplateFile, FileName,true);
object Obj_FileName = FileName;
object Visible = false;
object ReadOnly = false;
//打开文件
doc = app.Documents.Open(ref Obj_FileName,
ref missing, ref ReadOnly, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref Visible, ref missing, ref missing, ref missing, ref missing);
doc.Activate();
}
/// <summary>
/// 保存文档
/// </summary>
/// <param name="app"></param>
/// <param name="doc"></param>
public static void SaveDoc(Microsoft.Office.Interop.Word.Application app, Microsoft.Office.Interop.Word.Document doc)
{
//保存文档
object IsSave = true;
doc.Close(ref IsSave, ref missing, ref missing);
QuitWord(app, doc);
}
/// <summary>
/// word另存为htm文件
/// </summary>
/// <param name="FileName">FileUrl</param>
public static void SaveAsHtm(string FileUrl)
{
string FileName = HttpRuntime.BinDirectory + ".." + FileUrl;
string htmFileName = HttpRuntime.BinDirectory + "../pre/" + FileUrl.Substring(9,FileUrl.Length-12)+"htm";
Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document();
object Obj_FileName = FileName;
object Visible = false;
object ReadOnly = false;
doc = app.Documents.Open(ref Obj_FileName,
ref missing, ref ReadOnly, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref Visible, ref missing, ref missing, ref missing, ref missing);
doc.Activate();
object htmName = htmFileName;
object fileFormat = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatFilteredHTML;
doc.SaveAs(ref htmName, ref fileFormat);
QuitWord(app, doc);
}
/// <summary>
/// 释放word资源
/// </summary>
/// <param name="app"></param>
/// <param name="doc"></param>
public static void QuitWord(Microsoft.Office.Interop.Word.Application app, Microsoft.Office.Interop.Word.Document doc)
{
//释放word资源
app.Application.Quit(ref missing, ref missing, ref missing);
app = null;
doc = null;
}
}
}