Ir para o conteúdo do rodapé
FERRAMENTAS DO EXCEL

Como usar a função Criar PowerPoint a partir de um modelo em C#

Apresentações em PowerPoint continuam sendo um padrão para comunicar informações de forma eficiente nos domínios comerciais, educacionais e outros. O PowerPoint é uma ferramenta flexível que pode melhorar seus esforços de comunicação, seja você ensinando uma classe, dando atualizações de projeto para sua equipe ou fazendo uma apresentação para possíveis investidores. No entanto, criar apresentações do zero pode levar muito tempo, e a eficiência e a uniformidade do design podem nem sempre ser o que se deseja. É aqui que os modelos do PowerPoint são úteis, fornecendo slides prontos com temas e layouts que podem ser alterados para se adequarem às suas exigências.

Neste post, veremos como usar C# para criar um PowerPoint a partir de um modelo. Podemos agilizar o processo e permitir que os clientes criem apresentações refinadas com facilidade utilizando a biblioteca Microsoft [PowerPoint Interop](https://learn.microsoft.com/en-us/previous-versions/office/office-12/ff764034(v=office.12).

Como Usar Criar PowerPoint a partir de um Modelo em C#

  1. Crie um novo projeto em C#.
  2. Inicie o programa PowerPoint em uma nova instância.
  3. Insira slides de um modelo em uma apresentação recém-criada.
  4. Crie um novo arquivo e salve a apresentação.
  5. Feche o programa PowerPoint e encerre a apresentação.

Entendimento do PowerPoint a partir de um modelo

Vamos primeiro rever as ideias básicas por trás da criação de apresentações PowerPoint programaticamente antes de entrar no código. Com a biblioteca PowerPoint Interop da Microsoft, os desenvolvedores podem usar linguagens .NET, como C#, para se comunicar com aplicativos PowerPoint. Muitas funções, incluindo a capacidade de criar slides, adicionar texto, inserir imagens e aplicar formatação, são expostas por este pacote.

Criar um novo projeto do Visual Studio

Para iniciar um novo projeto no Visual Studio, siga as instruções abaixo.

Inicie o aplicativo Visual Studio. Antes de usar o Visual Studio, certifique-se de que ele esteja instalado em seu computador.

Selecione Arquivo, depois Novo e, por último, Projeto.

Como Usar Criar PowerPoint a partir de um Modelo em C#: Figura 1 - Criar um Novo Projeto no Visual Studio. Escolha a linguagem C# e um projeto de Console App ou Console App (.NET Core).

Escolha sua linguagem de programação preferida (C#, por exemplo) no lado esquerdo da caixa "Criar um novo projeto". Em seguida, na lista de modelos de projetos disponíveis, escolha o modelo "Console App" ou "Console App (.NET Core)". Para dar um nome ao seu projeto, preencha o campo "Nome".

Como usar Criar PowerPoint de um Modelo em C#: Figura 2 - Configurar o projeto de aplicativo de console: Adicione um nome de Projeto e Localização.

Decida onde o projeto será armazenado. Para começar a trabalhar em um novo projeto de aplicação Console, clique em "Próximo". Depois, selecione o .NET Framework apropriado e clique em "Criar".

How to Use Create PowerPoint from a Template in C#: Figure 3 - Select the appropriate .NET Framework and click on Create.

Em um projeto C# recém-criado, adicione uma referência à biblioteca Microsoft PowerPoint Interop. Agora é mais fácil desenvolver e interagir com apresentações graças a esta biblioteca, que permite a comunicação entre seu código C# e o aplicativo PowerPoint.

Criar PowerPoint a partir de Modelo usando C#

Carregar o modelo PowerPoint que forma a base de nossa nova apresentação é o primeiro passo. Layouts de slides predefinidos, temas e espaços reservados para conteúdo são frequentemente vistos em modelos. A função da biblioteca Microsoft.Office.PowerPoint.Interop nos permite abrir o arquivo de modelo e recuperar seu conteúdo dentro de nosso código-fonte C#.

using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Microsoft.Office.Core; // Make sure to include this for MsoTriState

class Program
{
    static void Main(string[] args)
    {
        // Initialize PowerPoint application
        PowerPoint.Application powerpointApp = new PowerPoint.Application();

        // Open an existing PowerPoint file
        PowerPoint.Presentation presentation = powerpointApp.Presentations.Open(
            @"C:\Path\To\Existing\output.pptx", 
            MsoTriState.msoFalse, 
            MsoTriState.msoFalse, 
            MsoTriState.msoTrue);

        // Insert slides from a template file into the presentation
        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;
using Microsoft.Office.Core; // Make sure to include this for MsoTriState

class Program
{
    static void Main(string[] args)
    {
        // Initialize PowerPoint application
        PowerPoint.Application powerpointApp = new PowerPoint.Application();

        // Open an existing PowerPoint file
        PowerPoint.Presentation presentation = powerpointApp.Presentations.Open(
            @"C:\Path\To\Existing\output.pptx", 
            MsoTriState.msoFalse, 
            MsoTriState.msoFalse, 
            MsoTriState.msoTrue);

        // Insert slides from a template file into the presentation
        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();
    }
}
$vbLabelText   $csharpLabel

Após carregar o modelo, construímos uma nova apresentação usando seu layout. Utilizamos o arquivo de apresentação do PowerPoint (output.pptx), que nos ajuda a criar um objeto de apresentação do PowerPoint que funcionará como um canvas para nosso material. O layout e o tema do modelo serão transferidos para esta apresentação, conferindo-lhe um estilo visual unificado.

Como usar Criar PowerPoint de um Modelo em C#: Figura 4 - Segundo arquivo PowerPoint (demo.pptx) contendo os slides que você deseja incluir em sua apresentação

O método presentation.Slides.InsertFromFile() leva quatro parâmetros: FileName, Index, SlideStart e SlideEnd.

  • O caminho para o arquivo PowerPoint contendo os slides que você deseja incluir na sua apresentação é especificado como o primeiro parâmetro (demo.pptx).
  • O próximo parâmetro é a posição na apresentação de destino onde você deseja inserir os slides.
  • Os outros dois parâmetros são opcionais. Esses parâmetros nos permitem especificar os índices de início e fim dos slides. Se precisarmos extrair slides entre um intervalo específico, podemos usar esses parâmetros.

Você pode usar o método presentation.Save() para salvar a apresentação após os slides terem sido inseridos usando o método InsertFromFile(). Depois de salvar, feche o programa PowerPoint usando o método Close() e, em seguida, saia da apresentação com o método Quit(). Dessa forma, você pode melhorar o conteúdo e a flexibilidade de sua apresentação do PowerPoint adicionando dinamicamente slides de arquivos externos.

Saída

Como usar Criar PowerPoint de um Modelo em C#: Figura 5 - Saída: output.pptx

IronXL

Apresentando uma biblioteca C# rica em recursos para trabalhar com arquivos Excel chamada IronXL. IronXL da Iron Software fornece uma ampla gama de ferramentas para criar, preencher e formatar dinamicamente documentos Excel. Com sua API amigável e documentação extensa, IronXL simplifica as interações com Excel em C# e proporciona aos desenvolvedores uma experiência perfeita para tarefas relacionadas a Excel.

Recursos do IronXL

  • Suporte Extensivo a Excel: O IronXL é capaz de abrir e manipular um grande número de arquivos Excel em vários formatos, como os formatos de arquivo CSV, XLS e XLSX. Os desenvolvedores podem extrair dados de forma eficaz de um arquivo Excel existente utilizando tanto arquivos Excel antigos quanto contemporâneos, graças aos robustos recursos de análise do IronXL.
  • Alta velocidade: O IronXL prioriza a otimização do desempenho. As interações com Excel são confiáveis e rápidas devido ao uso de algoritmos eficientes e estratégias de gerenciamento de memória. O IronXL fornece sobrecarga de memória reduzida e taxas de processamento otimizadas, permitindo que os desenvolvedores gerenciem facilmente grandes arquivos Excel.
  • API direta e amigável ao usuário: A API amigável ao usuário do IronXL a torna adequada para desenvolvedores de todos os níveis de habilidade. O IronXL reduz a curva de aprendizado para desenvolvedores C# e acelera o processo de criar e ler um arquivo existente ao fornecer maneiras simples de ler arquivos Excel, acessar cadernos de Excel e obter dados de células.

Para saber mais sobre a documentação do IronXL, consulte aqui.

Instalar IronXL

Para instalar o IronXL, use as instruções e o comando fornecidos nas etapas a seguir:

No Visual Studio, navegue para Ferramentas -> Gerenciador de Pacotes NuGet -> Console do Gerenciador de Pacotes.

Insira o seguinte comando na guia do console do gerenciador de pacotes:

Install-Package IronXl.Excel

O pacote IronXL agora está utilizável após ser baixado e instalado no projeto atual.

Criar Excel Usando IronXL

Agora vamos examinar um exemplo de código real que demonstra como escrever dados em um documento Excel em C# usando o IronXL. Vamos passar por como iniciar um novo caderno Excel, preencher uma planilha e depois salvar as informações em um arquivo:

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", "Gotham City" },
            { "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", "Gotham City" },
            { "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();
    }
}
$vbLabelText   $csharpLabel

Neste exemplo de código, primeiro criamos um novo objeto WorkBook usando a função Create() do IronXL, especificando o formato de arquivo Excel necessário. O próximo passo é criar uma nova planilha dentro do caderno e definir alguns dados de exemplo em um array bidimensional. Em seguida, para preencher a planilha com os dados de exemplo, utilizamos loops aninhados para acessar e definir os valores de diferentes células. Para liberar recursos do sistema, fechamos o caderno após usar o método SaveAs() para salvá-lo em um arquivo nomeado "Demo.xlsx". Da mesma forma, podemos gerar mais de uma folha para o arquivo de destino.

O arquivo Excel criado como saída é mostrado abaixo. Para saber mais sobre como escrever arquivos Excel, consulte os exemplos de código na página.

Como usar Criar PowerPoint de um Modelo em C#: Figura 6 - Saída do arquivo Excel

Conclusão

Em conclusão, utilizar C# para criar apresentações do PowerPoint a partir de modelos permite que os usuários melhorem a consistência do design, agilizem o fluxo de trabalho e produzam conteúdo que tenha efeito. Os desenvolvedores podem economizar tempo e esforço, garantindo resultados profissionais ao automatizar o processo de criação e utilizar os recursos da biblioteca Microsoft PowerPoint Interop. Aprender esta abordagem ajudará você, como apresentador, profissional de negócios ou educador, a melhorar suas habilidades de apresentação e capturar seu público com slides atraentes.

Para desenvolvedores C#, IronXL é uma alternativa poderosa ao Microsoft Excel, oferecendo suporte completo para Excel, excelente desempenho e interação perfeita com o .NET framework. A API amigável do IronXL e o controle detalhado sobre documentos Excel simplificam a escrita em Excel em C#. Isso facilita o processo para desenvolvedores automatizarem tarefas relacionadas ao Excel, exportarem dados e gerarem relatórios dinâmicos. Seja criando arquivos Excel para aplicativos de desktop, web ou mobile, os desenvolvedores C# podem contar com o IronXL para otimizar as tarefas relacionadas ao Excel e liberar todo o potencial do Excel em seus programas C#.

IronXL custa $799 quando é lançado pela primeira vez. Além disso, os usuários têm a opção de pagar uma taxa de associação de um ano para obter assistência ao produto e atualizações. Mediante uma taxa, o IronXL oferece proteção contra redistribuição irrestrita. Para saber mais sobre o custo aproximado, visite esta página de licenças. Veja mais sobre a Iron Software clicando neste link do site.

Jordi Bardia
Engenheiro de Software
Jordi é extremamente proficiente em Python, C# e C++, e quando não está utilizando suas habilidades na Iron Software, dedica-se à programação de jogos. Compartilhando as responsabilidades por testes, desenvolvimento e pesquisa de produtos, Jordi agrega imenso valor à melhoria contínua dos produtos. Essa experiência diversificada o mantém ...
Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me