public ActionResult GetDocx() { try { using (var ManNac = new EmpleadosEntities()) { var ListNac = ManNac.Nacionalidad.ToList(); //Ubicacion de Archivo string filename = @"C:\Users\Rodrigo_Menares\Downloads\ListaNacionalidades.docx"; var doc = DocX.Create(filename); //Carga una imagen en formato JPG var image = doc.AddImage(Server.MapPath("/Imagenes/bg.jpg")); // Set Picture Height and Width. var picture = image.CreatePicture(50, 50); picture.Width = 50; picture.Height = 50; //Titulo Del Documento string title = "Lista De Cargos"; //Formato del Titulo Formatting titleFormat = new Formatting(); //Specify font family titleFormat.FontFamily = new Xceed.Document.NET.Font("Arial Black"); //Specify font size y color del texto titleFormat.Size = 14D; titleFormat.Position = 40; titleFormat.FontColor = System.Drawing.Color.Orange; titleFormat.UnderlineColor = System.Drawing.Color.Gray; titleFormat.Italic = true; //combina el titulo con el formato definido Xceed.Document.NET.Paragraph paragraphTitle = doc.InsertParagraph(title, false, titleFormat); // alinea el titulo al centro paragraphTitle.Alignment = Alignment.center; //Insert text Table tbl = doc.AddTable(ListNac.Count + 1, 2); //hace que la tabla este al centro de la pagina tbl.Alignment = Alignment.center; tbl.Design = TableDesign.ColorfulList; //agrega los titulos de la tabla tbl.Rows[0].Cells[0].Paragraphs.First().Append("Código Nacionalidad").FontSize(12D).Alignment = Alignment.center; tbl.Rows[0].Cells[1].Paragraphs.First().Append("Nombre Nacionalidad").FontSize(12D).Alignment = Alignment.center; //llena las celdas con los datos int fila = 1; int columna = 0; foreach (var item in ListNac) { tbl.Rows[fila].Cells[columna].Paragraphs.First().Append(Convert.ToString(item.Id_Nac)).FontSize(12D).Alignment = Alignment.right; columna++; tbl.Rows[fila].Cells[columna].Paragraphs.First().Append(Convert.ToString(item.Descripcion)).FontSize(12D).Alignment = Alignment.center; fila++; columna = 0; } //inserta la tabla dentro del documento doc.InsertTable(tbl); //Genera el Pie de Pagina del Documento doc.AddFooters(); //Indica que que la primera página tendrá pies de página independientes doc.DifferentFirstPage = true; //Indica que que la página par e impar tendrá pies de página separados doc.DifferentOddAndEvenPages = true; Footer footer_main = doc.Footers.First; Paragraph pFooter = footer_main.Paragraphs.First(); pFooter.Alignment = Alignment.center; pFooter.Append("Página ").Bold(); pFooter.AppendPageNumber(PageNumberFormat.normal).Bold(); pFooter.Append("/").Bold(); pFooter.AppendPageCount(PageNumberFormat.normal).Bold(); //graba el documento doc.Save(); //abre word y el documento Process.Start("WINWORD", filename); return(RedirectToAction("Index")); } } catch (Exception ex) { Logger.Error("Error On:", ex); Response.StatusCode = 500; Response.StatusDescription = ex.Message; return(Json(Response)); } }
public ActionResult CargFamDocx() { try { using (CargFam = new EmpleadosEntities()) { var ListCargFam = CargFam.Sp_Mues_CargFam().ToList(); //Ubicacion de Archivo string filename = @"C:\Users\Rodrigo_Menares\Downloads\ListaCargFam.docx"; var doc = DocX.Create(filename); //cambia la orientacion de la pagina doc.PageLayout.Orientation = Orientation.Landscape; //Carga una imagen en formato JPG var image = doc.AddImage(Server.MapPath("/Imagenes/bg.jpg")); // Set Picture Height and Width. var picture = image.CreatePicture(50, 50); picture.Width = 50; picture.Height = 50; //Titulo Del Documento string title = "Lista De Cargas Familiares"; //Formato del Titulo Formatting titleFormat = new Formatting(); //Specify font family titleFormat.FontFamily = new Xceed.Document.NET.Font("Arial Black"); //Specify font size y color del texto titleFormat.Size = 14D; titleFormat.Position = 40; titleFormat.FontColor = System.Drawing.Color.Orange; titleFormat.UnderlineColor = System.Drawing.Color.Gray; titleFormat.Italic = true; //combina el titulo con el formato definido Xceed.Document.NET.Paragraph paragraphTitle = doc.InsertParagraph(title, false, titleFormat); // alinea el titulo al centro paragraphTitle.Alignment = Alignment.center; //define las dimensiones de la tabla (tbl(f,c)) Table tbl = doc.AddTable(ListCargFam.Count + 1, 11); //hace que la tabla este al centro de la pagina tbl.Alignment = Alignment.center; tbl.Design = TableDesign.ColorfulList; tbl.AutoFit = AutoFit.Contents; //agrega los titulos de la tabla tbl.Rows[0].Cells[0].Paragraphs.First().Append("Rut").FontSize(8D).Alignment = Alignment.center; tbl.Rows[0].Cells[1].Paragraphs.First().Append("Nombre").FontSize(8D).Alignment = Alignment.center; tbl.Rows[0].Cells[2].Paragraphs.First().Append("Ap. Paterno").FontSize(8D).Alignment = Alignment.center; tbl.Rows[0].Cells[3].Paragraphs.First().Append("Fono Movil").FontSize(8D).Alignment = Alignment.center; tbl.Rows[0].Cells[4].Paragraphs.First().Append("Fecha Nacimiento").FontSize(8D).Alignment = Alignment.center; tbl.Rows[0].Cells[5].Paragraphs.First().Append("Sexo").FontSize(8D).Alignment = Alignment.center; tbl.Rows[0].Cells[6].Paragraphs.First().Append("Dirección").FontSize(8D).Alignment = Alignment.center; tbl.Rows[0].Cells[7].Paragraphs.First().Append("Comuna").FontSize(8D).Alignment = Alignment.center; tbl.Rows[0].Cells[8].Paragraphs.First().Append("Correo").FontSize(8D).Alignment = Alignment.center; tbl.Rows[0].Cells[9].Paragraphs.First().Append("Nombre Empleado").FontSize(8D).Alignment = Alignment.center; tbl.Rows[0].Cells[10].Paragraphs.First().Append("Comentarios").FontSize(8D).Alignment = Alignment.center; //llena las celdas con los datos int fila = 1; int columna = 0; foreach (var item in ListCargFam) { tbl.Rows[fila].Cells[columna].Paragraphs.First().Append(Convert.ToString(item.Rut_Carga)).FontSize(8D).Alignment = Alignment.left; columna++; tbl.Rows[fila].Cells[columna].Paragraphs.First().Append(Convert.ToString(item.Nombre)).FontSize(8D).Alignment = Alignment.left; columna++; tbl.Rows[fila].Cells[columna].Paragraphs.First().Append(Convert.ToString(item.Paterno)).FontSize(8D).Alignment = Alignment.left; columna++; tbl.Rows[fila].Cells[columna].Paragraphs.First().Append(Convert.ToString(item.Fono_Movil)).FontSize(8D).Alignment = Alignment.left; columna++; tbl.Rows[fila].Cells[columna].Paragraphs.First().Append(Convert.ToString(item.Fecha_Nacimiento)).FontSize(8D).Alignment = Alignment.left; columna++; tbl.Rows[fila].Cells[columna].Paragraphs.First().Append(Convert.ToString(item.Sexo)).FontSize(8D).Alignment = Alignment.left; columna++; tbl.Rows[fila].Cells[columna].Paragraphs.First().Append(Convert.ToString(item.Direccion)).FontSize(8D).Alignment = Alignment.left; columna++; tbl.Rows[fila].Cells[columna].Paragraphs.First().Append(Convert.ToString(item.Comuna)).FontSize(8D).Alignment = Alignment.left; columna++; tbl.Rows[fila].Cells[columna].Paragraphs.First().Append(Convert.ToString(item.Email)).FontSize(8D).Alignment = Alignment.left; columna++; tbl.Rows[fila].Cells[columna].Paragraphs.First().Append(Convert.ToString(item.Nombre_Empleado)).FontSize(8D).Alignment = Alignment.left; columna++; tbl.Rows[fila].Cells[columna].Paragraphs.First().Append(Convert.ToString(item.Comentarios)).FontSize(8D).Alignment = Alignment.left; fila++; columna = 0; } //inserta la tabla dentro del documento doc.InsertTable(tbl); //Genera el Pie de Pagina del Documento doc.AddFooters(); //Indica que que la primera página tendrá pies de página independientes doc.DifferentFirstPage = true; //Indica que que la página par e impar tendrá pies de página separados doc.DifferentOddAndEvenPages = true; Footer footer_main = doc.Footers.First; Paragraph pFooter = footer_main.Paragraphs.First(); pFooter.Alignment = Alignment.center; pFooter.Append("Página ").Bold(); pFooter.AppendPageNumber(PageNumberFormat.normal).Bold(); pFooter.Append("/").Bold(); pFooter.AppendPageCount(PageNumberFormat.normal).Bold(); //graba el documento doc.Save(); //abre word y el documento Process.Start("WINWORD", filename); return(RedirectToAction("Index")); } } catch (Exception ex) { Logger.Error("Error On:", ex); Response.StatusCode = 500; Response.StatusDescription = ex.Message; return(Json(Response)); } }