using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Microsoft.Office.Interop.Word; using System.Reflection; namespace WordAndExcel.Word { public partial class makeWord : System.Web.UI.Page { Microsoft.Office.Interop.Word.Application appWord = null; Microsoft.Office.Interop.Word.Document docWord = null; Range range = null; object missing = null; protected void Page_Load(object sender, EventArgs e) { Document wordDoc = OpenWord(Server.MapPath("./file/law.doc")); MakeWord(wordDoc, Server.MapPath("./file/laws.doc")); } /// <summary> /// 打开Word /// </summary> /// <param name="str_Path">文件路径</param> /// <returns></returns> protected Document OpenWord(object str_Path) { missing = Missing.Value; appWord = new Microsoft.Office.Interop.Word.Application(); appWord.Visible = false; docWord = appWord.Documents.Open(ref str_Path, 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); return docWord; } /// <summary> /// 操作Word /// </summary> /// <param name="docWord">文档对象</param> protected void MakeWord(Document docWord, object str_Path) { try { object startPostion = (docWord.Characters.Count - 1) as object; Range tableLocation = docWord.Range(ref startPostion, ref startPostion); ///文檔對象 從頭開始 /// Microsoft.Office.Interop.Word.Table newTable = docWord.Tables.Add(tableLocation, 5, 2, ref missing, ref missing); ///table 樣式 newTable.Borders.OutsideLineStyle = WdLineStyle.wdLineStyleDashDotDot; newTable.Borders.InsideLineStyle = WdLineStyle.wdLineStyleDashDotDot; for (int i = 0; i < 5; i++) { for (int j = 0; j < 2; j++) { newTable.Rows[i + 1].Cells[j + 1].Width = (float)(255F); newTable.Rows[i + 1].Cells[j + 1].Height = (float)(155F); TableAddText(newTable.Rows[i + 1].Cells[j + 1].Range); } } } catch (Exception ee) { Response.Write(ee.ToString()); } finally { object saveChange = true; docWord.SaveAs(ref str_Path, 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); docWord.Close(ref saveChange, ref missing, ref missing); appWord.Quit(ref saveChange, ref missing, ref missing); } } public void TableAddText(Range range) { range.Text = "John:(寄)"; // appWord.Selection.Text = "童新:(寄)"; // appWord.Selection.TypeParagraph(); // appWord.Selection.Text = "童新:(收)"; range.Text += "Jerry:(收)"; object Anchor = range; // 插入圖片 string FileName = Server.MapPath("./file/law.jpg");//图片所在路径 object LinkToFile = false; object SaveWithDocument = true; // object Anchor = docWord.Application.Selection.Range; docWord.Application.ActiveDocument.InlineShapes.AddPicture(FileName, ref LinkToFile, ref SaveWithDocument, ref Anchor); docWord.Application.ActiveDocument.InlineShapes[1].Width = 100f;//图片宽度 docWord.Application.ActiveDocument.InlineShapes[1].Height = 20f;//图片高度 //插入Hyperlink Microsoft.Office.Interop.Word.Selection mySelection = appWord.ActiveWindow.Selection; mySelection.Start = 9999; mySelection.End = 9999; Microsoft.Office.Interop.Word.Range myRange = mySelection.Range; Microsoft.Office.Interop.Word.Hyperlinks myLinks = docWord.Hyperlinks; object linkAddr = @"http://www.cnblogs.com/tx720/"; Microsoft.Office.Interop.Word.Hyperlink myLink = myLinks.Add(myRange, ref linkAddr,ref missing); appWord.ActiveWindow.Selection.InsertAfter(" "); //添加舉行形狀 并且添加文字 Shape s = range.Document.Shapes.AddShape(1, 90, 20, 70, 20, ref Anchor); s.TextFrame.TextRange.Text = "dds"; } } }