public ActionResult ExpInfo(string json) { try { Operator curUser = OperatorProvider.Provider.Current(); string title = "安全网格"; //设置文件名 string fileName = curUser.OrganizeName + title + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".doc"; title = curUser.OrganizeName + "<br />" + title; json = HttpUtility.UrlDecode(json); //加载导出模板 Aspose.Words.Document doc = new Aspose.Words.Document(Server.MapPath("~/Resource/DocumentFile/html.docx")); Aspose.Words.DocumentBuilder db = new Aspose.Words.DocumentBuilder(doc); //导入到书签 db.MoveToBookmark("title"); db.InsertHtml(title); db.MoveToBookmark("HTML"); db.InsertHtml(json.Replace(@"\", "").Replace(@" ", "").TrimStart('"').TrimEnd('"')); doc.Save(Server.MapPath("~/Resource/Temp/" + fileName)); string path = Server.MapPath("~/Resource/Temp/" + fileName); return(Success("操作成功", fileName)); } catch (Exception ex) { return(Error(ex.Message)); } }
/// <summary> /// 填充模板 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnInWord_Click(object sender, EventArgs e) { DataTable dt = (DataTable)dGv.DataSource; string WorkDate = DateTime.Parse(dt.Compute("Max(Date)", "").ToString()).ToString("yyyy-MM-dd"); byte[] bys = Properties.Resources.工作总结模板; MemoryStream ms = new MemoryStream(bys); Aspose.Words.Document doc = new Aspose.Words.Document(ms); Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc); builder.MoveToBookmark("WorkDate"); builder.Write(WorkDate); //编写日期 builder.MoveToBookmark("WorkMsg"); //综合描述 builder.Write(txtWorkMsg.Text.Trim()); for (int i = 0; i < dt.Rows.Count; i++) { builder.MoveToBookmark("Content" + i); builder.Write(dt.Rows[i][0].ToString()); builder.MoveToBookmark("Day" + i); builder.Write(DateTime.Parse(dt.Rows[i][1].ToString()).ToString("yyyy-MM-dd")); } string saveSrc = @"D:\Documents\Desktop\\" + WorkDate + " 工作总结.Doc"; if (File.Exists(saveSrc)) { File.Delete(saveSrc); } doc.Save(saveSrc); btnInWord.Enabled = false; txtWorkMsg.Text = ""; txtWorkMsg.Visible = false; labState.Text = "已生成综合描述"; }
public ActionResult Export(string keyValue, string title) { try { string sql = "select itemname,measures,deptname,dutyuser,to_char(plandate,'yyyy-mm-dd') plandate,to_char(realitydate,'yyyy-mm-dd') realitydate,checkuser,result,remark from jt_checkitems where checkid='" + keyValue + "' order by sortcode asc"; DataTable data = new DepartmentBLL().GetDataTable(sql); data.TableName = "T"; Aspose.Words.Document doc = new Aspose.Words.Document(Server.MapPath("~/Resource/DocumentFile/安全检查导出模板.doc")); Aspose.Words.DocumentBuilder db = new Aspose.Words.DocumentBuilder(doc); db.MoveToBookmark("title"); db.InsertHtml("<font style='font-size:21px;font-weight:bold;text-decoration:underline;'>" + title + "</font>"); doc.MailMerge.ExecuteWithRegions(data); HttpResponse resp = System.Web.HttpContext.Current.Response; doc.Save(resp, title + "安全检查问题汇总表.doc", Aspose.Words.ContentDisposition.Attachment, Aspose.Words.Saving.SaveOptions.CreateSaveOptions(Aspose.Words.SaveFormat.Doc)); return(Success("操作成功")); } catch (Exception ex) { return(Error(ex.Message)); } }
public MemoryStream RenderCoverLetter(string addressBlock, string salutation, List <Screening> screenings) { Aspose.Words.Document wordDocument = new Aspose.Words.Document(new MemoryStream(SharedFilesConfiguration.Current.CoverLetter)); Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(wordDocument); //string address = string.Format("{0} {1}", state.WOTCCoordinator.FirstName == null ? string.Empty : state.WOTCCoordinator.FirstName.Trim(), state.WOTCCoordinator.LastName == null ? string.Empty : state.WOTCCoordinator.LastName.Trim()); //if (!string.IsNullOrEmpty(state.WOTCCoordinator.Title)) // address += "\n" + state.WOTCCoordinator.Title.Trim(); //if (!string.IsNullOrEmpty(state.WOTCCoordinator.Department)) // address += "\n" + state.WOTCCoordinator.Department.Trim(); //if (!string.IsNullOrEmpty(state.WOTCCoordinator.Division)) // address += "\n" + state.WOTCCoordinator.Division.Trim(); //address += string.Format("\n{0}, {1} {2}", state.WOTCCoordinator.City.Trim(), state.WOTCCoordinator.State.Trim(), state.WOTCCoordinator.ZipCode.Trim()); builder.MoveToBookmark("WOTCAddress"); builder.Writeln(addressBlock); builder.MoveToBookmark("Salutation"); builder.Writeln(salutation); builder.MoveToBookmark("EnclosureTable"); var table = builder.StartTable(); builder.InsertCell(); builder.RowFormat.Height = 15; builder.RowFormat.HeightRule = Aspose.Words.HeightRule.Exactly; builder.CellFormat.PreferredWidth = PreferredWidth.FromPoints(35); builder.Writeln("DOC"); builder.InsertCell(); builder.CellFormat.PreferredWidth = PreferredWidth.FromPoints(175); builder.Writeln("NAME"); builder.InsertCell(); builder.Writeln("SSN"); builder.InsertCell(); builder.Writeln("HIRE DATE"); builder.EndRow(); foreach (var screening in screenings.OrderBy(s => s.Applicant.LastName + "_" + s.Applicant.FirstName)) { builder.InsertCell(); builder.RowFormat.Height = 15; builder.RowFormat.HeightRule = Aspose.Words.HeightRule.Exactly; builder.Writeln("8850"); builder.InsertCell(); builder.RowFormat.Height = 15; builder.RowFormat.HeightRule = Aspose.Words.HeightRule.Exactly; builder.Writeln("9061"); builder.InsertCell(); builder.Writeln(string.Format("{0} {1}", screening.Applicant.FirstName.Trim(), screening.Applicant.LastName.Trim())); var social = string.IsNullOrEmpty(screening.Applicant.SocialSecurityNumber) ? "000-00-0000" : (screening.Applicant.SocialSecurityNumber.Length == 7 ? "0" + screening.Applicant.SocialSecurityNumber.Substring(0, 2) + "-" + screening.Applicant.SocialSecurityNumber.Substring(2, 2) + "-" + screening.Applicant.SocialSecurityNumber.Substring(4, 4) : screening.Applicant.SocialSecurityNumber.Substring(0, 3) + "-" + screening.Applicant.SocialSecurityNumber.Substring(3, 2) + "-" + screening.Applicant.SocialSecurityNumber.Substring(5, 4)); builder.InsertCell(); builder.Writeln(social); builder.InsertCell(); builder.Writeln(screening.WasHired.Value.ToString("MM/dd/yyyy")); builder.EndRow(); } builder.EndTable(); for (int i = 0; i < table.Rows.Count; i++) { table.Rows[i].RowFormat.Borders.LineStyle = Aspose.Words.LineStyle.None; } MemoryStream stream = new MemoryStream(); wordDocument.Save(stream, Aspose.Words.SaveFormat.Pdf); stream.Position = 0; return(stream); }
MemoryStream RenderIRSForm8850Page2(Screening screening) { Aspose.Words.Document wordDocument = new Aspose.Words.Document(new MemoryStream(SharedFilesConfiguration.Current.Form8850Page2)); Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(wordDocument); builder.MoveToBookmark("CompanyName"); builder.Writeln(screening.Employer.Name.Trim()); var employeeName = string.Format("{0}, {1} {2}", screening.Applicant.LastName.Trim(), screening.Applicant.FirstName.Trim(), string.IsNullOrEmpty(screening.Applicant.MiddleName) ? string.Empty : screening.Applicant.MiddleName.Trim()); builder.MoveToBookmark("EmployeeName"); builder.Writeln(employeeName.Trim()); var ein = screening.Employer.EIN.Trim().Length == 9 ? screening.Employer.EIN.Trim().Substring(0, 2) + "-" + screening.Employer.EIN.Trim().Substring(2, 7) : screening.Employer.EIN.Trim(); builder.MoveToBookmark("EIN"); builder.Writeln(ein); var companyPhone = string.IsNullOrEmpty(screening.Employer.TelephoneNumber) ? string.Empty : (screening.Employer.TelephoneNumber.Trim().Length == 7 ? screening.Employer.TelephoneNumber.Trim().Substring(0, 3) + "-" + screening.Employer.TelephoneNumber.Trim().Substring(3, 4) : (screening.Employer.TelephoneNumber.Trim().Length == 10 ? screening.Employer.TelephoneNumber.Trim().Substring(0, 3) + '-' + screening.Employer.TelephoneNumber.Trim().Substring(3, 3) + '-' + screening.Employer.TelephoneNumber.Trim().Substring(6, 4) : screening.Employer.TelephoneNumber.Trim())); builder.MoveToBookmark("Phone"); builder.Writeln(companyPhone); builder.MoveToBookmark("CompanyAddress"); builder.Writeln(screening.Employer.StreetAddress.Trim()); builder.MoveToBookmark("CompanyCityStateZip"); builder.Writeln(string.Format("{0}, {1} {2}", screening.Employer.City.Trim(), screening.Employer.State.Trim(), screening.Employer.ZipCode.Trim())); builder.MoveToBookmark("InfoDate"); builder.Writeln(screening.GaveInformation.HasValue ? screening.GaveInformation.Value.ToString("MM/dd/yyyy") : string.Empty); builder.MoveToBookmark("OfferDate"); builder.Writeln(screening.OfferedJob.HasValue?screening.OfferedJob.Value.ToString("MM/dd/yyyy"): string.Empty); builder.MoveToBookmark("HireDate"); builder.Writeln(screening.WasHired.HasValue?screening.WasHired.Value.ToString("MM/dd/yyyy") : string.Empty); builder.MoveToBookmark("StartDate"); builder.Writeln(screening.StartedJob.HasValue?screening.StartedJob.Value.ToString("MM/dd/yyyy") : string.Empty); builder.MoveToBookmark("Date"); builder.Writeln(screening.ProcessedDate.HasValue?screening.ProcessedDate.Value.ToString("MM/dd/yyyy") : string.Empty); MemoryStream stream = new MemoryStream(); wordDocument.Save(stream, Aspose.Words.SaveFormat.Pdf); stream.Position = 0; return(stream); }