using System.Reflection;
using Microsoft.Office.Interop.Word;
object missing = System.Reflection.Missing.Value;
object Nothing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Word.Application wa = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document doc = new Microsoft.Office.Interop.Word.Document();
wa.Documents.Add(ref missing, ref missing, ref missing, ref missing);
doc = wa.ActiveDocument;
//向word中导入文件,可以把HTML文件导入到一个word中.
wa.Selection.InsertFile(sFileName, ref missing, ref missing, ref missing, ref missing);
object unit;
unit = Microsoft.Office.Interop.Word.WdUnits.wdStory;
wa.Selection.HomeKey(ref unit, ref missing);
//如果文档中有个书签时,可以直接定向到书签,可以在当前位置,插入文本,图片等,在HTML中,书签指<a name="mypic"></a>
object Bookmark = (int)Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark;
object NameBookMark = "mypicImg";
wa.Selection.GoTo(ref Bookmark, ref missing, ref missing, ref NameBookMark);
//要插入的图片文件
wa.Selection.InlineShapes.AddPicture("C:\\webbg.png", ref missing, ref missing, ref missing);
//插入本文
wa.Selection.TypeText("xcxcxcxxcxccxcxccxcx");
//保存的word
//注意,如果是打开一个HTML文档,而由HTML另存为doc文档时,插入的图片会生成ab.file这样的目录,来存储当前图片文件,如果是新建的空word文档,再把HTML导入到word文档中,再插入图片就不会出现ab.file这样的目录,图片会直接保存的word文档ab.doc中
object s = Server.MapPath("abs.doc");
doc.SaveAs(ref s, 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);
//关闭网页wordDoc2
doc.Close(ref Nothing, ref Nothing, ref Nothing);
if (doc != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(doc);
doc = null;
}
//关闭wordApp
wa.Quit(ref Nothing, ref Nothing, ref Nothing);
if (wa != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(wa);
wa = null;
}
//public static bool PrintEnvelope(string from, string to)
// {
// //
// //string temp = Properties.Resources.EnvelopeTemplate.Replace("«ReturnAddress»", from).Replace("«ReceiverAddress»", to);
// string temp = Properties.Resources.EnvelopeTemplate;
// //string TempPath = System.Windows.Forms.Application.ExecutablePath.ToString().Trim().Substring(0, System.Windows.Forms.Application.ExecutablePath.ToString().Trim().LastIndexOf(@"\\") + 1) + "\\\\Envelope.xml";
// if (File.Exists(TempPath)) File.Delete(TempPath);
// System.IO.FileStream fs = new System.IO.FileStream(TempPath, System.IO.FileMode.CreateNew);
// System.IO.StreamWriter sw = new System.IO.StreamWriter(fs,Encoding.UTF8);
// sw.Write(temp);
// sw.Close();
// object fileName = TempPath;
// object readOnly = false;
// object isVisible = true;
// object missing = System.Reflection.Missing.Value;
// object range = Microsoft.Office.Interop.Word.WdPrintOutRange.wdPrintCurrentPage;
// Microsoft.Office.Interop.Word.Application wordApp;
// //Document d = new DocumentClass();
// try
//{
// object o = Marshal.GetActiveObject("Word.Application");
// wordApp = o as Microsoft.Office.Interop.Word.Application;
// }
// catch
//{
// wordApp = new ApplicationClass();
// }
// Document d = wordApp.Documents.Open(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);
// //replace
// d.Envelope.ReturnAddress.Text = from;
// d.Envelope.Address.Text = to;
// //object findText="«ReturnAddress»";
// //object replaceWidth=from;
// //wordApp.Selection.Find.Execute(ref findText, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref replaceWidth, ref missing, ref missing, ref missing, ref missing, ref missing);
// //object findText2 = "«ReceiverAddress»";
// //object replaceWidth2 = to;
// //wordApp.Selection.Find.Execute(ref findText2, ref missing, ref missing, ref missing, ref missing, ref missing, ref readOnly, ref missing, ref missing, ref replaceWidth2, ref missing, ref missing, ref missing, ref missing, ref missing);
// //
// d.Activate();
// d.PrintOut(ref missing, ref missing, ref range, 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);
// d.Close(ref readOnly, ref missing, ref missing);
// File.Delete(TempPath);
// return true;
// }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!