xls para XML
06/05/2010
0
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.
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
Curtir tópico
+ 0
Responder
Posts
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!
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
Clique aqui para fazer login e interagir na Comunidade :)