Crie DataTable em C#

Muhammad Maisam Abbas 16 fevereiro 2024
  1. Crie uma tabela de dados com a classe DataTable em C#
  2. Adicionar linhas à tabela de dados em C#
  3. Exportar dados da tabela de dados para XML em C#
  4. Exportar estrutura da tabela de dados para XML em C#
Crie DataTable em C#

Este tutorial discutirá os métodos de criação e preenchimento de uma tabela de dados em C#.

Crie uma tabela de dados com a classe DataTable em C#

A classe DataTable é usada para criar uma tabela de dados em C#. Uma tabela de dados representa uma tabela com dados relacionais em C#. Quando criamos pela primeira vez uma tabela de dados com a classe DataTable, ela não possui um esquema especificado. Temos que criar e adicionar um objeto da classe DataColumn para especificar a estrutura da tabela de dados. Podemos adicionar o objeto da classe DataColumn ao objeto da classe DataTable com a função DataTable.Columns.Add() em C#.

using System.Data;

namespace data_table {
  class Program {
    static void Main(string[] args) {
      DataTable workTable = new DataTable("Customers");
      DataColumn column1 = new DataColumn("Column1");
      DataColumn column2 = new DataColumn("Column2");
      workTable.Columns.Add(column1);
      workTable.Columns.Add(column2);
    }
  }
}

No código acima, criamos a tabela de dados workTable com o nome Customers e duas colunas diferentes, column1 e column2, tendo os nomes Column1 e Column2, respectivamente. Especificamos o esquema da workTable adicionando ambas as colunas a ela. Agora podemos adicionar dados à nossa tabela na forma de linhas.

Adicionar linhas à tabela de dados em C#

Para adicionar uma linha à nossa tabela, temos que criar um objeto da classe DataRow. A classe DataRow define uma nova linha para adicionar dados à nossa tabela em C#. Podemos adicionar o objeto da classe DataRow ao objeto da classe DataTable com a função DataTable.Row.Add() em C#. O exemplo de código a seguir nos mostra como podemos adicionar dados à nossa tabela com a classe DataRow em C#.

using System.Data;

namespace data_table {
  class Program {
    static void Main(string[] args) {
      DataTable workTable = new DataTable("Customers");
      DataColumn column1 = new DataColumn("Column1");
      DataColumn column2 = new DataColumn("Column2");
      workTable.Columns.Add(column1);
      workTable.Columns.Add(column2);
      DataRow row1 = workTable.NewRow();
      row1["Column1"] = "value1";
      row1["Column2"] = "value2";
      workTable.Rows.Add(row1);
    }
  }
}

No código acima, inicializamos a instância row1 da classe DataRow com a função workTable.NewRow(). Adicionamos dados para ambas as colunas na linha1 e adicionamos linha1 à workTable com a função workTable.Rows.Add(row1) em C#.

Também podemos adicionar uma nova linha à nossa tabela com a seguinte abordagem.

object[] o = { "object value1", "object value2" };
workTable.Rows.Add(o);

No código acima, adicionamos uma nova linha à tabela workTable sem criar uma instância da classe DataRow. Outra abordagem que pode ser usada para inserir uma nova linha em nossa tabela em C# é fornecida a seguir.

workTable.Rows.Add("direct value1", "direct value2");

No código acima, adicionamos valores diretamente a uma nova linha na tabela workTable, mesmo sem declarar um array de objetos.

Exportar dados da tabela de dados para XML em C#

Agora que criamos nossa tabela com a classe DataTable, definimos sua estrutura com a classe DataColumn e adicionamos várias linhas à nossa tabela, podemos agora exibir nossa tabela. Podemos exportar nossa tabela inteira para um arquivo xml com a função DataTable.WriteXml() em C#. A DataTable.WriteXml(path) função é usada para escrever todos os dados de nossa tabela em um arquivo xml no path. O exemplo de código a seguir nos mostra como podemos escrever os dados da nossa tabela em um arquivo xml com a função DataTable.WriteXml() em C#.

using System.Data;

namespace data_table {
  class Program {
    static void Main(string[] args) {
      DataTable workTable = new DataTable("Customers");
      DataColumn column1 = new DataColumn("Column1");
      DataColumn column2 = new DataColumn("Column2");
      workTable.Columns.Add(column1);
      workTable.Columns.Add(column2);
      DataRow row1 = workTable.NewRow();
      row1["Column1"] = "value1";
      row1["Column2"] = "value2";
      workTable.Rows.Add(row1);
      object[] o = { "object value1", "object value2" };
      workTable.Rows.Add(o);
      workTable.Rows.Add("direct value1", "direct value2");
      workTable.WriteXml("workTable.xml");
    }
  }
}

No código acima, exportamos todos os dados dentro da tabela workTable para o arquivo xml workTable.xml com a função workTable.WriteXml("workTable.xml") em C#. O conteúdo do arquivo workTable.xml é fornecido a seguir.

<?xml version="1.0" standalone="yes"?>
<DocumentElement>
  <Customers>
    <Column1>value1</Column1>
    <Column2>value2</Column2>
  </Customers>
  <Customers>
    <Column1>object value1</Column1>
    <Column2>object value2</Column2>
  </Customers>
  <Customers>
    <Column1>direct value1</Column1>
    <Column2>direct value2</Column2>
  </Customers>
</DocumentElement>

Exportar estrutura da tabela de dados para XML em C#

Por outro lado, também podemos exportar apenas o esquema ou estrutura de nossa tabela para um arquivo xml em C#. A função DataTable.WriteXmlSchema(path) é usada para escrever a estrutura de nossa tabela de dados em um arquivo xml no path. O exemplo de código a seguir nos mostra como podemos escrever a estrutura de nossa tabela em um arquivo xml com a função DataTable.WriteXmlSchema(path) em C#.

using System.Data;

namespace data_table {
  class Program {
    static void Main(string[] args) {
      DataTable workTable = new DataTable("Customers");
      DataColumn column1 = new DataColumn("Column1");
      DataColumn column2 = new DataColumn("Column2");
      workTable.Columns.Add(column1);
      workTable.Columns.Add(column2);
      DataRow row1 = workTable.NewRow();
      row1["Column1"] = "value1";
      row1["Column2"] = "value2";
      workTable.Rows.Add(row1);
      object[] o = { "object value1", "object value2" };
      workTable.Rows.Add(o);
      workTable.Rows.Add("direct value1", "direct value2");
      workTable.WriteXml("workTable.xml");
      workTable.WriteXmlSchema("workTableSchema.xml");
    }
  }
}

No código acima, exportamos a estrutura da tabela workTable para o arquivo xml workTableSchema.xml com a função workTable.WriteXmlSchema("workTableSchema.xml") em C#. O conteúdo do arquivo workTable.Schema.xml é fornecido a seguir.

<?xml version="1.0" standalone="yes"?>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="https://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Customers" msdata:UseCurrentLocale="true">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Customers">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Column1" type="xs:string" minOccurs="0" />
              <xs:element name="Column2" type="xs:string" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema>
Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artigo relacionado - Csharp DataTable