protected void Button1_Click(object sender, EventArgs e) { ApplicationClass wordApp=null; Document MyDoc=null; string fileURL = ""; string fileName = ""; string imgname1 = ""; string imgname2 = ""; try { tab_zbb_payLog payLog = (tab_zbb_payLog)ViewState["payLog"]; decimal xh = payLog.xh.HasValue ? payLog.xh.Value : 0; Net_Gkzb gkzb = GetZbInfoByXh(xh); wordApp = new ApplicationClass(); object missing = System.Reflection.Missing.Value; object tempName = Server.MapPath("../TempDoc/") + @"muban.dot"; object docName = Server.MapPath("../TempDoc/") + gkzb.bjbh + payLog.PayCode + ".doc"; fileURL = "../TempDoc/" + gkzb.bjbh + payLog.PayCode + ".doc"; fileName = gkzb.bjbh + payLog.PayCode + ".doc"; MyDoc = wordApp.Documents.Add(ref tempName, ref missing, ref missing, ref missing); wordApp.Visible = true; MyDoc.Activate(); object LinkToFile = false, SaveWithDocument = true; object Range = System.Reflection.Missing.Value; object bm1 = "gongchengmingcheng"; object bm2 = "baojianbianhao"; object bm3 = "biaoduanhao"; object bm4 = "gcbh1"; object bm5 = "gcbh2"; object bm6 = "gcbh3"; object bm7 = "shijian"; object bm8 = "huizhima"; object bm9 = "huizhimaimg"; object bm10 = "yanzhengma"; object bm11 = "yanzhengmaimg"; MyDoc.Bookmarks.get_Item(ref bm1).Range.Text = gkzb.gcmc; MyDoc.Bookmarks.get_Item(ref bm2).Range.Text = gkzb.bjbh; MyDoc.Bookmarks.get_Item(ref bm3).Range.Text = gkzb.bdh; MyDoc.Bookmarks.get_Item(ref bm4).Range.Text = gkzb.xmbh0; MyDoc.Bookmarks.get_Item(ref bm5).Range.Text = gkzb.xmbh1; MyDoc.Bookmarks.get_Item(ref bm6).Range.Text = gkzb.xmbh2; string date = payLog.PayTime.ToString("yyyy年MM月dd日 HH:mm:ss"); MyDoc.Bookmarks.get_Item(ref bm7).Range.Text = date; MyDoc.Bookmarks.get_Item(ref bm8).Range.Text = AddBlank(payLog.PayCode); imgname1 = Server.MapPath("../TempDoc/") + gkzb.bjbh+payLog.PayCode + "huizhima.gif"; imgname2 = Server.MapPath("../TempDoc/") + gkzb.bjbh+payLog.PayCode + "yanzhengma.gif"; Code128 code128 = new Code128(); code128.BarCodeValue = payLog.PayCode.Trim(); code128.ShowBarCodeValue = true; code128.GetImg(imgname1); code128.BarCodeValue = payLog.PayValidateCode.Trim(); code128.GetImg(imgname2); MyDoc.Bookmarks.get_Item(ref bm9).Range.InlineShapes.AddPicture(imgname1, ref LinkToFile, ref SaveWithDocument, ref Range); MyDoc.Bookmarks.get_Item(ref bm10).Range.Text = AddBlank(payLog.PayValidateCode); MyDoc.Bookmarks.get_Item(ref bm11).Select();// Range.InlineShapes.AddPicture(imgname2, ref LinkToFile, ref SaveWithDocument, ref Range); InlineShape il = wordApp.Selection.InlineShapes.AddPicture(imgname2, ref LinkToFile, ref SaveWithDocument, ref Range); il.Width = 570; il.Height = 50; MyDoc.SaveAs(ref docName, 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); } catch { throw; } finally { string aa = e.ToString(); object miss = System.Reflection.Missing.Value; object missingValue = Type.Missing; object doNotSaveChanges = Word.WdSaveOptions.wdDoNotSaveChanges; if (MyDoc != null) MyDoc.Close(ref doNotSaveChanges, ref missingValue, ref missingValue); if (wordApp != null) wordApp.Application.Quit(ref miss, ref miss, ref miss); MyDoc = null; wordApp = null; File.Delete(imgname1); File.Delete(imgname2); } try { FileInfo DownloadFile = new FileInfo(Server.MapPath(fileURL)); Response.Clear(); Response.ClearHeaders(); Response.Buffer = false; Response.ContentType = "application/octet-stream"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); Response.AppendHeader("Content-Length", DownloadFile.Length.ToString()); Response.WriteFile(DownloadFile.FullName); Response.Flush(); Response.End(); } catch { } finally { File.Delete(Server.MapPath(fileURL)); } }