예제 #1
0
 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();
 }
예제 #2
0
        /// <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());
        }
예제 #4
0
        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"));
        }