Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
Las presentaciones de PowerPoint siguen siendo un estándar para comunicar información de forma eficaz en los ámbitos comercial, educativo y otros. PowerPoint es una herramienta flexible que puede mejorar tus esfuerzos de comunicación, tanto si estás dando una clase, informando sobre un proyecto a tu equipo o haciendo una presentación a posibles inversores. Sin embargo, crear presentaciones desde cero puede llevar mucho tiempo, y la eficacia y uniformidad del diseño pueden no ser siempre las deseadas. Aquí es donde resultan útiles las plantillas de PowerPoint, que ofrecen diapositivas ya preparadas con temas y diseños que pueden modificarse para adaptarlas a sus necesidades.
En este post, veremos cómo usar C# para crear un PowerPoint a partir de una plantilla. Podemos agilizar el procedimiento y permitir a los clientes crear presentaciones pulidas con facilidad utilizando el programa Microsoft Biblioteca PowerPoint Interop.
Repasemos primero las ideas básicas para escribir presentaciones de PowerPoint mediante programación antes de entrar en el código. Con la biblioteca PowerPoint Interop de Microsoft, los desarrolladores pueden utilizar lenguajes .NET como C# para comunicarse con aplicaciones PowerPoint. Este paquete ofrece numerosas funciones, como la posibilidad de crear diapositivas, añadir texto, insertar imágenes y aplicar formato.
Para iniciar un nuevo Visual Studio siga las instrucciones que figuran a continuación.
Inicie la aplicación Visual Studio. Antes de utilizar Visual Studio, asegúrese de que lo ha instalado en su ordenador.
Seleccione Archivo, luego Nuevo y, por último, Proyecto.
Elija su lenguaje de programación preferido (C#, por ejemplo) de la parte izquierda del cuadro "Crear un nuevo proyecto". A continuación, de la lista de plantillas de proyecto disponibles, elija "Aplicación de consola" o "Aplicación de consola". (.NET Core)". Para dar un nombre a su proyecto, rellene el campo "Nombre".
Decide dónde se almacenará el proyecto. Para empezar a trabajar en un nuevo proyecto de aplicación de Consola, haga clic en "Siguiente". A continuación, seleccione el .NET Framework adecuado y haga clic en "Crear".
En un proyecto C# recién creado, añada una referencia a la biblioteca Microsoft PowerPoint Interop. Ahora es más fácil desarrollar presentaciones e interactuar con ellas gracias a esta biblioteca, que permite la comunicación entre su código C# y la aplicación PowerPoint.
Cargar la plantilla de PowerPoint que constituye la base de nuestra nueva presentación es el primer paso. Las plantillas suelen contener diseños de diapositivas, temas y marcadores de contenido predefinidos. La función de la biblioteca Microsoft.Office.PowerPoint.Interop nos permite abrir el archivo de plantilla y recuperar su contenido desde nuestro código fuente C#.
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
class Program
{
static void Main(string [] args)
{
// Initialize PowerPoint application
PowerPoint.Application powerpointApp = new PowerPoint.Application();
// Load a PowerPoint file
PowerPoint.Presentation presentation = powerpointApp.Presentations.Open(
@"C:\Path\To\Existing\output.pptx",
MsoTriState.msoFalse,
MsoTriState.msoFalse,
MsoTriState.msoTrue);
// ppt slide from a template file
presentation.Slides.InsertFromFile(
@"C:\Path\To\External\demo.pptx",
presentation.Slides.Count + 1,
1,
0);
// Save the updated presentation
presentation.Save();
// Close the presentation and quit PowerPoint application
presentation.Close();
powerpointApp.Quit();
}
}
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
class Program
{
static void Main(string [] args)
{
// Initialize PowerPoint application
PowerPoint.Application powerpointApp = new PowerPoint.Application();
// Load a PowerPoint file
PowerPoint.Presentation presentation = powerpointApp.Presentations.Open(
@"C:\Path\To\Existing\output.pptx",
MsoTriState.msoFalse,
MsoTriState.msoFalse,
MsoTriState.msoTrue);
// ppt slide from a template file
presentation.Slides.InsertFromFile(
@"C:\Path\To\External\demo.pptx",
presentation.Slides.Count + 1,
1,
0);
// Save the updated presentation
presentation.Save();
// Close the presentation and quit PowerPoint application
presentation.Close();
powerpointApp.Quit();
}
}
Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Initialize PowerPoint application
Dim powerpointApp As New PowerPoint.Application()
' Load a PowerPoint file
Dim presentation As PowerPoint.Presentation = powerpointApp.Presentations.Open("C:\Path\To\Existing\output.pptx", MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoTrue)
' ppt slide from a template file
presentation.Slides.InsertFromFile("C:\Path\To\External\demo.pptx", presentation.Slides.Count + 1, 1, 0)
' Save the updated presentation
presentation.Save()
' Close the presentation and quit PowerPoint application
presentation.Close()
powerpointApp.Quit()
End Sub
End Class
Después de cargar la plantilla, construimos una nueva presentación utilizando su diseño. Utilizamos el archivo de presentación PowerPoint (output.pptx). Lo que nos ayuda a crear un objeto PowerPoint presentación que actuará como un lienzo para nuestro material. El diseño y el tema de la plantilla se trasladarán a esta presentación, dándole un estilo visual unificado.
La función presentation.Slides.InsertFromFile()El método toma cuatro parámetros, a saber FileName, Index, SlideStart, SlideEnd.
La ruta del archivo PowerPoint que contiene las diapositivas que desea incluir en su presentación se especifica como primer parámetro (demo.pptx). El siguiente parámetro es el número de diapositivas que el usuario debe copiar en el nuevo archivo desde la plantilla. Los otros dos parámetros son opcionales. Estos parámetros nos permiten pasar los índices de inicio y fin de diapositiva. Si necesitamos extraer diapositivas entre dos diapositivas podemos utilizar estos parámetros.
Puede utilizar una presentación.Guardar() método para guardar la presentación después de que las diapositivas hayan sido insertadas usando InsertFromFile(), cierre el programa PowerPoint utilizando el método Cerrar() y, a continuación, salga de la presentación con el método Quit() método. De este modo, puede mejorar el contenido y la flexibilidad de su presentación de PowerPoint añadiendo diapositivas dinámicamente desde archivos externos utilizando la técnica InsertFromFile.
Presentamos una biblioteca de C# repleta de funciones para trabajar con archivos Excel llamada IronXL. Iron Software IronXL proporciona una amplia gama de herramientas para crear, rellenar y formatear dinámicamente documentos Excel. Con su API de fácil uso y su extensa documentación, IronXL agiliza las interacciones de Excel en C# y proporciona a los desarrolladores una experiencia sin fisuras para las tareas relacionadas con Excel.
API sencilla y fácil de usar: La API fácil de usar de IronXL hace que sea adecuado para desarrolladores de todos los niveles de habilidad. IronXL reduce la curva de aprendizaje de los desarrolladores de C# y agiliza el proceso de creación y lectura de un archivo existente proporcionando formas sencillas de leer archivos de Excel, acceder a libros de Excel y obtener datos de las celdas.
Para obtener más información sobre la documentación de IronXL, consulte aquí.
Io instalar IronXL, utilice las instrucciones y el comando dado en los siguientes pasos:
En Visual Studio, vaya a Herramientas -> Gestor de paquetes NuGet -> interfaz del Gestor de paquetes.
Introduzca el siguiente código en la pestaña de la consola del gestor de paquetes:
Install-Package IronXL.Excel
El paquete IronXL es ahora utilizable después de ser descargado e instalado en el proyecto actual.
Examinemos ahora un ejemplo de código real que demuestra cómo escribir datos en un documento de Excel en C# utilizando IronXL. Vamos a ver cómo iniciar un nuevo libro de Excel, completar una hoja de cálculo y, a continuación, guardar la información en un archivo:
using IronXL;
class Program
{
static void Main(string [] args)
{
// Create a new WorkBook object
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add a new WorkSheet to the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");
// Define sample data
string [,] data = {
{ "Name", "Age", "City" },
{ "Superman ", "35", "Metropolis" },
{ "Batman", "34", "Metropolis" },
{ "Flash", "30", "Central City" }
};
// Populate the worksheet with data
for (int row = 0; row < data.GetLength(0); row++)
{
for (int col = 0; col < data.GetLength(1); col++)
{
workSheet.SetCellValue(row, col, data [row, col]);
}
}
// Save the workbook to a xlsx file
workBook.SaveAs("Demo.xlsx");
// Close the workbook
workBook.Close();
}
}
using IronXL;
class Program
{
static void Main(string [] args)
{
// Create a new WorkBook object
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add a new WorkSheet to the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");
// Define sample data
string [,] data = {
{ "Name", "Age", "City" },
{ "Superman ", "35", "Metropolis" },
{ "Batman", "34", "Metropolis" },
{ "Flash", "30", "Central City" }
};
// Populate the worksheet with data
for (int row = 0; row < data.GetLength(0); row++)
{
for (int col = 0; col < data.GetLength(1); col++)
{
workSheet.SetCellValue(row, col, data [row, col]);
}
}
// Save the workbook to a xlsx file
workBook.SaveAs("Demo.xlsx");
// Close the workbook
workBook.Close();
}
}
Imports IronXL
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create a new WorkBook object
Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
' Add a new WorkSheet to the workbook
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
' Define sample data
Dim data(,) As String = {
{ "Name", "Age", "City" },
{ "Superman ", "35", "Metropolis" },
{ "Batman", "34", "Metropolis" },
{ "Flash", "30", "Central City" }
}
' Populate the worksheet with data
For row As Integer = 0 To data.GetLength(0) - 1
For col As Integer = 0 To data.GetLength(1) - 1
workSheet.SetCellValue(row, col, data (row, col))
Next col
Next row
' Save the workbook to a xlsx file
workBook.SaveAs("Demo.xlsx")
' Close the workbook
workBook.Close()
End Sub
End Class
En este ejemplo de código, primero creamos un nuevo objeto WorkBook utilizando la función Crear de IronXL() especificando el formato de archivo Excel necesario. El siguiente paso es crear una nueva hoja de cálculo dentro del libro de trabajo y explicar algunos datos de ejemplo en una matriz bidimensional. A continuación, para rellenar la hoja de cálculo con los datos de la muestra, utilizamos bucles anidados para acceder a las distintas celdas y establecer sus valores. Para liberar recursos del sistema, cerramos el libro de trabajo después de utilizar la función SaveAs() para guardarlo en un archivo llamado "SampleData.xlsx". Del mismo modo, podemos generar más de una hoja para el archivo de destino.
A continuación se muestra el archivo Excel creado como salida. Para saber más sobre la escritura de archivos Excel, consulte los ejemplos de código página.
En conclusión, utilizar C# para crear presentaciones de PowerPoint a partir de plantillas permite a los usuarios mejorar la coherencia del diseño, agilizar el flujo de trabajo y producir contenidos que tengan efecto. Los desarrolladores pueden ahorrar tiempo y trabajo a la vez que garantizan resultados profesionales automatizando el proceso de creación y utilizando las funciones de la biblioteca Microsoft PowerPoint Interop. Aprender este enfoque le ayudará como presentador, profesional de los negocios o educador a mejorar sus habilidades de presentación y a captar a su audiencia con diapositivas llamativas.
Para desarrolladores de C#, IronXL es una potente alternativa a Microsoft Excel, que ofrece compatibilidad total con Excel, un gran rendimiento y una interacción perfecta con el .NET Framework. La API fácil de usar de IronXL y el control detallado sobre los documentos de Excel simplifican la escritura de Excel en C#. Esto facilita a los desarrolladores la automatización de tareas relacionadas con Excel, la exportación de datos y la generación de informes dinámicos. Ya sea que estén creando archivos de Excel para aplicaciones de escritorio, web o móviles, los desarrolladores de C# pueden contar con IronXL para agilizar las tareas relacionadas con Excel y liberar todo el potencial de Excel en sus programas de C#.
IronXL cuesta $599 cuando se lanza por primera vez. Además, los usuarios tienen la opción de pagar una cuota de afiliación de un año para obtener asistencia y actualizaciones de los productos. A cambio de una cuota, IronXL ofrece protección contra la redistribución incontrolada. Para saber más sobre el coste aproximado, visite este enlace página de licencia. Más información sobre Iron Software en este sitio web enlace.
9 productos API .NET para sus documentos de oficina