xls para XML

06/05/2010

Caros, boa tarde.

Estou iniciando em programação e gostaria da ajuda de vcs para pegar os dados de uma planilha excel e transformar em XML.

Conto com a ajuda de vcs.

Regison Melo

Respostas

12/05/2010

Marcelo Mendes

Cara!
Para ler um arquivo XLS voce pode usar o OleDB.

Criando uma conexão OleDB vc faz consultas nesse arquivo XLS.

Exemplo :

string connectionString = @"Provider=Microsoft.Jet.
OLEDB.4.0;Data Source=Book1.xls;Extended
Properties=""Excel 8.0;HDR=YES;""";

DbProviderFactory factory =
DbProviderFactories.GetFactory("System.Data.OleDb");

using (DbConnection connection = factory.CreateConnection())
{
connection.ConnectionString = connectionString;

using (DbCommand command = connection.CreateCommand())
{

command.CommandText = "SELECT ID,Cidade,Estado
  FROM [Cidades$]";

connection.Open();

using (DbDataReader dr = command.ExecuteReader())
{
while (dr.Read())
{
MessageBox.Show(dr["ID"].ToString());
}
}
}
}


Ai você pode utilizar as classes abaixo para a criação do XML:


XmlTextWriter writer = new XmlTextWriter("users.xml", Encoding.UTF8);
writer.WriteStartDocument();
writer.WriteStartElement("cidades")
writer.WriteStartElement("cidade");

writer.WriteElementString("cidade_id", "1");
writer.WriteElementString("nome", "São Paulo");

writer.WriteEndElement();

writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();


Isso iria gerar um xml mais ou menos assim:

<CIDADES>
<CIDADE>
<CIDADE_ID>1</CIDADE_ID>
<NOME>São Paulo</NOME>
</CIDADE>
</CIDADES>



Ai basta você implementar sua lógica ai!

Abraços!









Responder Citar