static void Main(string[] args) { var dest = @"C:\Dropbox (LIG Marine)\Docxtestdocs\dest.docx"; var src = @"C:\Dropbox (LIG Marine)\Docxtestdocs\MASTERQuoteCover.docx"; File.Delete(dest); var templateEngine = new swxben.docxtemplateengine.DocXTemplateEngine(); templateEngine.Process( source: src, destination : dest, data : new { Name = "SWXBEN", Age = 32, Insured = Guid.NewGuid().ToString() }); //templateEngine.Process(); }
/// <summary> /// <see cref="https://github.com/swxben/docx-template-engine"/> /// </summary> public static bool InsertTextInPlaceholders_swxben(string templatePath, string outputDocumentPath, Object obj) { try { if (!File.Exists(templatePath)) { throw new FileNotFoundException(); } PrepareObject(obj); var templateEngine = new swxben.docxtemplateengine.DocXTemplateEngine(); templateEngine.Process(templatePath, outputDocumentPath, obj); return(true); } catch (Exception x) { XLogger.Error(x); return(false); } }
public ActionResult PrintBorang(string id, string kod) { string path_file = Server.MapPath(Url.Content("~/Content/template/")); var pendahuluan = db.HR_PENDAHULUAN_DIRI.SingleOrDefault(s => s.HR_NO_PEKERJA == id && s.HR_KOD_PENDAHULUAN == kod); HR_MAKLUMAT_PERIBADI mPeribadi = db.HR_MAKLUMAT_PERIBADI.SingleOrDefault(s => s.HR_NO_PEKERJA == id); HR_MAKLUMAT_PEKERJAAN mPekerjaan = db.HR_MAKLUMAT_PEKERJAAN.SingleOrDefault(s => s.HR_NO_PEKERJA == id); var jawatan = db.HR_JAWATAN.SingleOrDefault(s => s.HR_KOD_JAWATAN == mPekerjaan.HR_JAWATAN); var jabatan = db2.GE_JABATAN.SingleOrDefault(s => s.GE_KOD_JABATAN == mPekerjaan.HR_JABATAN); var templateEngine = new swxben.docxtemplateengine.DocXTemplateEngine(); templateEngine.Process( source: path_file + "TEMPLATE PENDAHULUAN DIRI.docx", destination: path_file + "BORANG_PENDAHULUAN_DIRI.docx", data: new { tarikhpermohonan = string.Format("{0:dd/MM/yyyy}", pendahuluan.HR_TARIKH_PERMOHONAN), jabatan = jabatan.GE_KETERANGAN_JABATAN, kelulusan = pendahuluan.HR_KELULUSAN, jumlahsekarang = pendahuluan.HR_JUMLAH_SEKARANG, jumlahpenuh = pendahuluan.HR_JUMLAH_PENUH, no_kp = mPeribadi.HR_NO_KPBARU, no_gaji = mPekerjaan.HR_MATRIKS_GAJI, jawatan = jawatan.HR_KOD_JAWATAN + " - " + jawatan.HR_NAMA_JAWATAN, bayarbalik = pendahuluan.HR_BAYARAN_BALIK, tujuan = pendahuluan.HR_TUJUAN, mula = string.Format("{0:dd/MM/yyyy}", pendahuluan.HR_TARIKH_MULA), akhir = string.Format("{0:dd/MM/yyyy}", pendahuluan.HR_TARIKH_AKHIR), waktu = pendahuluan.HR_TARIKH_MULA, soalan = pendahuluan.HR_KELULUSAN_1, senarai = pendahuluan.HR_KELULUSAN_2, belanja = pendahuluan.HR_KELULUSAN_3, kadar = pendahuluan.HR_KELULUSAN_4, pegawai2 = pendahuluan.HR_PEGAWAI_2, pegawai3 = pendahuluan.HR_PEGAWAI_3, sebab = pendahuluan.HR_PEGAWAI_4, amanah = mPeribadi.HR_NAMA_PEKERJA, minta = pendahuluan.HR_NAMA_PEGAWAI, pegawai = mPeribadi.HR_NAMA_PEKERJA, tangung = pendahuluan.HR_NAMA_PEGAWAI, amaun = pendahuluan.HR_JUMLAH_PENUH, nopekerja = mPeribadi.HR_NO_PEKERJA, }); string path = path_file + "BORANG_PENDAHULUAN_DIRI.docx"; System.IO.FileInfo file = new System.IO.FileInfo(path); Response.Clear(); Response.AddHeader("content-length", file.Length.ToString()); Response.AddHeader("content-disposition", "attachment; filename = BORANG_PENDAHULUAN_DIRI(" + mPeribadi.HR_NAMA_PEKERJA + ").docx"); Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; Response.TransmitFile(path_file + "BORANG_PENDAHULUAN_DIRI.docx"); Response.Flush(); Response.Close(); ViewBag.HR_NAMA_PEGAWAI = new SelectList(db.HR_MAKLUMAT_PERIBADI, "HR_NO_PEKERJA", "HR_NAMA_PEKERJA", pendahuluan.HR_NAMA_PEGAWAI); ViewBag.HR_JAWATAN_NP = new SelectList(db.HR_JAWATAN, "HR_KOD_JAWATAN", "HR_NAMA_JAWATAN", mPeribadi.HR_MAKLUMAT_PEKERJAAN.HR_JAWATAN); return(View()); }
public ActionResult CreateDocxReport(SuratPengesahanHospitalModel model) { string path_file = Server.MapPath("~/Content/template/"); Microsoft.Office.Interop.Word.Application WordApp = new Microsoft.Office.Interop.Word.Application(); object missing = System.Reflection.Missing.Value; string[] filePaths = Directory.GetFiles(path_file + "SuratPergerakanGaji\\"); foreach (string filePath in filePaths) { System.IO.File.Delete(filePath); } Microsoft.Office.Interop.Word.Document Doc = WordApp.Documents.Add(ref missing, ref missing, ref missing, ref missing); object start = 0; object end = 0; Microsoft.Office.Interop.Word.Range rng = Doc.Range(ref start, ref missing); string tempFile = "SuratPengesahanHospital\\SuratPengesahanHospital(" + model.NoPekerja + ").docx"; string LT1, LT2, LT3, LT4, LT5, LT6, LT7; string T1, T2, T3, T4, T5, T6, T7; LT1 = model.MaklumatTanggungan.Count > 0 ? string.Format("Nama: {0}. No KP: {1}", model.MaklumatTanggungan[0].Nama, model.MaklumatTanggungan[0].NoKP) : string.Empty; LT2 = model.MaklumatTanggungan.Count > 1 ? string.Format("Nama: {0}. No KP: {1}", model.MaklumatTanggungan[1].Nama, model.MaklumatTanggungan[1].NoKP) : string.Empty; LT3 = model.MaklumatTanggungan.Count > 2 ? string.Format("Nama: {0}. No KP: {1}", model.MaklumatTanggungan[2].Nama, model.MaklumatTanggungan[2].NoKP) : string.Empty; LT4 = model.MaklumatTanggungan.Count > 3 ? string.Format("Nama: {0}. No KP: {1}" , model.MaklumatTanggungan[3].Nama, model.MaklumatTanggungan[3].NoKP) : string.Empty; LT5 = model.MaklumatTanggungan.Count > 4 ? string.Format("Nama: {0}. No KP: {1}" , model.MaklumatTanggungan[4].Nama, model.MaklumatTanggungan[4].NoKP) : string.Empty; LT6 = model.MaklumatTanggungan.Count > 5 ? string.Format("Nama: {0}. No KP: {1}", model.MaklumatTanggungan[5].Nama, model.MaklumatTanggungan[5].NoKP) : string.Empty; LT7 = model.MaklumatTanggungan.Count > 6 ? string.Format("Nama: {0}. No KP: {1}", model.MaklumatTanggungan[6].Nama, model.MaklumatTanggungan[6].NoKP) : string.Empty; T1 = model.MaklumatTanggungan.Count > 0 ? model.MaklumatTanggungan[0].Nama : string.Empty; T2 = model.MaklumatTanggungan.Count > 1 ? model.MaklumatTanggungan[1].Nama : string.Empty; T3 = model.MaklumatTanggungan.Count > 2 ? model.MaklumatTanggungan[2].Nama : string.Empty; T4 = model.MaklumatTanggungan.Count > 3 ? model.MaklumatTanggungan[3].Nama : string.Empty; T5 = model.MaklumatTanggungan.Count > 4 ? model.MaklumatTanggungan[4].Nama : string.Empty; T6 = model.MaklumatTanggungan.Count > 5 ? model.MaklumatTanggungan[5].Nama : string.Empty; T7 = model.MaklumatTanggungan.Count > 6 ? model.MaklumatTanggungan[6].Nama : string.Empty; var templateEngine = new swxben.docxtemplateengine.DocXTemplateEngine(); templateEngine.Process( source: path_file + "SuratPengesahanHospital.docx", destination: path_file + tempFile, data: new { tarikh = model.TarikhString, namahospital = model.HospitalName, namapegawai = model.NamaPekerja, nokpbaru = model.NoKPBaru, jawatan = model.Jawatan, gred = model.GredGaji, gajibulanan = model.GajiBulanan.ToString("#,##0.00"), listtanggungan1 = LT1, listtanggungan2 = LT2, listtanggungan3 = LT3, listtanggungan4 = LT4, listtanggungan5 = LT5, listtanggungan6 = LT6, listtanggungan7 = LT7, tanggungan1 = T1, tanggungan2 = T2, tanggungan3 = T3, tanggungan4 = T4, tanggungan5 = T5, tanggungan6 = T6, tanggungan7 = T7 }); rng.InsertFile(path_file + tempFile, ref missing, ref missing, ref missing, ref missing); // now make start to point to the end of the content of the first document start = WordApp.ActiveDocument.Content.End - 1; rng = Doc.Range(ref start, ref missing); //foreach (Microsoft.Office.Interop.Word.Paragraph paragraph in Doc.Paragraphs) //{ // paragraph.Range.Font.Name = "Times New Roman"; // paragraph.Range.Font.Size = 11; // paragraph.Format.SpaceAfter = 0.1f; //} Doc.SaveAs2(path_file + tempFile); Doc.Application.Quit(); try { WordApp.Quit(); } catch { } //System.IO.FileInfo file = new System.IO.FileInfo(path_file + tempFile); //Response.Clear(); //Response.AddHeader("content-length", file.Length.ToString()); //Response.AddHeader("content-disposition", "attachment; filename = SuratPengesahanHospital.docx"); //Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; //Response.TransmitFile(path_file + "SuratPengesahanHospital.docx"); //Response.Flush(); //Response.Close(); //return View(); string fullFilePath = path_file + tempFile; return(File(fullFilePath, "application/vnd.openxmlformats-officedocument.wordprocessingml.document")); }
public ActionResult PermohonanPerjalanan(string id, string kod) { string path_file = Server.MapPath(Url.Content("~/Content/template/")); var pegawai = db.HR_SEMINAR_LUAR_DETAIL.SingleOrDefault(s => s.HR_NO_PEKERJA == id && s.HR_KOD_LAWATAN == kod); HR_MAKLUMAT_PERIBADI mPeribadi = db.HR_MAKLUMAT_PERIBADI.SingleOrDefault(s => s.HR_NO_PEKERJA == id); HR_MAKLUMAT_PEKERJAAN mPekerjaan = db.HR_MAKLUMAT_PEKERJAAN.SingleOrDefault(s => s.HR_NO_PEKERJA == id); var jawatan = db.HR_JAWATAN.SingleOrDefault(s => s.HR_KOD_JAWATAN == mPekerjaan.HR_JAWATAN); var jabatan = db2.GE_JABATAN.SingleOrDefault(s => s.GE_KOD_JABATAN == mPekerjaan.HR_JABATAN); var templateEngine = new swxben.docxtemplateengine.DocXTemplateEngine(); templateEngine.Process( source: path_file + "TEMPLATE BORANG LUAR NEGARA.docx", destination: path_file + "BORANG_LUAR_NEGARA.docx", data: new { nama = mPeribadi.HR_NAMA_PEKERJA, ic = mPeribadi.HR_NO_KPBARU, jawatan = jawatan.HR_KOD_JAWATAN + " - " + jawatan.HR_NAMA_JAWATAN, mula = string.Format("{0:dd/MM/yyyy}", pegawai.HR_TARIKH_MANGKU_MULA), hingga = string.Format("{0:dd/MM/yyyy}", pegawai.HR_TARIKH_MANGKU_AKHIR), jabatan = jabatan.GE_KETERANGAN_JABATAN, tarikhlawatan = string.Format("{0:dd/MM/yyyy}", pegawai.HR_SEMINAR_LUAR.HR_TARIKH_MULA), hinggalawatan = string.Format("{0:dd/MM/yyyy}", pegawai.HR_SEMINAR_LUAR.HR_TARIKH_TAMAT), negara = pegawai.HR_SEMINAR_LUAR.HR_TEMPAT, tujuan = pegawai.HR_SEMINAR_LUAR.HR_TUJUAN, alamatbercuti = pegawai.HR_ALAMAT_CUTI, notel = pegawai.HR_NO_TEL, emel = pegawai.HR_ALAMAT_EMEL, tarikhcuti = string.Format("{0:dd/MM/yyyy}", pegawai.HR_TARIKH_CUTI), tarikhakhir = string.Format("{0:dd/MM/yyyy}", pegawai.HR_TARIKH_CUTI_AKH), jumlah = pegawai.HR_JUMLAH_CUTI, tarikhkembali = string.Format("{0:dd/MM/yyyy}", pegawai.HR_TARIKH_KEMBALI), tiket = pegawai.HR_TIKET_KAPAL, penginapan = pegawai.HR_PENGINAPAN, lainlain = pegawai.HR_LAIN, jumlahbelanja = pegawai.HR_JUMLAH_BELANJA, tarikhmohon = string.Format("{0:dd/MM/yyyy}", pegawai.HR_SEMINAR_LUAR.HR_TARIKH_PERMOHONAN), namapegawai = pegawai.HR_NAMA_PEGAWAI, hubungan = pegawai.HR_HUBUNGAN, alamatpegawai = pegawai.HR_ALAMAT_PEGAWAI, notelpegawai = pegawai.HR_NOTEL_PEGAWAI, emelpegawai = pegawai.HR_ALAMAT_EMEL, alasanpegawai = pegawai.HR_ALASAN, }); //Interop+ \ Application appWord = new Application(); wordDocument = appWord.Documents.Open(@"C:\Users\RSA-02\Documents\Visual Studio 2015\Projects\New\webapp\Content\template\BORANG_LUAR_NEGARA.docx"); wordDocument.ExportAsFixedFormat(@"C:\Users\RSA-02\Documents\Visual Studio 2015\Projects\New\webapp\Content\template\BORANG_LUAR_NEGARA.pdf", WdExportFormat.wdExportFormatPDF); appWord.Quit(); string FilePath = Server.MapPath("~/Content/template/BORANG_LUAR_NEGARA.pdf"); WebClient User = new WebClient(); Byte[] FileBuffer = User.DownloadData(FilePath); if (FileBuffer != null) { Response.ContentType = "application/pdf"; Response.AddHeader("content-length", FileBuffer.Length.ToString()); Response.BinaryWrite(FileBuffer); } return(File(FilePath, "application/pdf")); }