C# - Criando um arquivo HTML no console


Hoje veremos como criar um arquivo HTML em uma aplicação console e abrir este arquivo no navegador.

Pode parecer simples e fácil de fazer mas você sabe como criar um HTML em uma aplicação Console ?

É isso que iremos mostrar a seguir. Vamos criar uma tabela HTML que será gerada na forma de uma string HTML e a seguir vamos gravar esta string em um arquivo .html e a seguir vamos abrir este arquivo no navegador.

Vamos criar um projeto Console do tipo .NET Core chamado Cshp_HTML no VS 2019 Community:

No método Main() da classe Program inclua o código abaixo:

using System;
using System.IO;

namespace Cshp_HTML
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Criando e executando um arquivo HTML.\n\n");
            Console.WriteLine("Informe o seu nome  :");
            string nome = Console.ReadLine();

            //Inicia a Table
            string html = "<table cellpadding='5' cellspacing='0' style='border: 1px solid #ccc;font-size: 12pt;font-family:arial'>";

            //Incluir o Header
            html += "<tr>";
            html += "<th style='background-color: #B8DBFD;border: 1px solid #ccc'>Nome</th>";
            html += "</tr>";

            //Adiciona uma linha.
            html += "<tr>";
            html += "<td style='width:120px;border: 1px solid #ccc'>" + nome + "</td>";
            html += "</tr>";

            //Fecha a table.
            html += "</table>";

            //Define o caminho e cria o arquivo HTML
            var caminhoArquivoHTML = @"c:\dados\htm\Console.htm";

            File.WriteAllText(caminhoArquivoHTML, html);

            Console.WriteLine("Arquivo HTML arquivo com sucesso...\n");
            Console.WriteLine("Tecle ENTER para abrir o arquivo.");
            Console.ReadLine();

            //Executa o arquivo HTML no navegador padrão
            var pInfo = new System.Diagnostics.ProcessStartInfo();
            pInfo.UseShellExecute = true;
            pInfo.FileName = "Console.htm";
            pInfo.WorkingDirectory = @"c:\dados\htm\";
            System.Diagnostics.Process.Start(pInfo);
        }
    }
}

O código é bem simples e, se você desejar, pode parametrizar o caminho do arquivo e o seu nome e também criar um HTML mais elaborado.

Executando o projeto e informando o nome e teclando enter teremos o resultado abaixo no navegador.

Pegue o projeto completo aqui:   Cshp_HTML.zip

"Mas, não vos alegreis porque se vos sujeitem os espíritos; alegrai-vos antes por estarem os vossos nomes escritos nos céus."
Lucas 10:20

Referências:


José Carlos Macoratti