Buscar

Últimas inserções

Gerando planilhas XLS para Excel com formatação de colunas
MD5 direto no Sql Server
Aplicação demora muito para inicializar quando VisualStudio está "Loading Symbols"
Fazendo Painel de Leds em menos usando System.Drawing(parte 3)
Fazendo Painel de Leds em menos usando System.Drawing(parte 2)
- TODAS AS DICAS

Top Poggers (sempre)

Jar Jar Binks (136)
Cuban Pete (127)
Tufo (28)

Top Poggers (30 dias)


Área restrita

Logon

pogMasters.NET

Início
Busca Avançada
Contato

RSS
 

Lendo Excel via OleDB e problemas mais comuns - PARTE 2

ASP.NET

11/08/2010 por Tufo


Continuando o post sobre excel ai vai a segunda parte:

Alguns Snippets:
Connection String para Excel 2003 para baixo:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=meuExcel.xls;Extended Properties="Excel 8.0;HDR=YES;IMEX=1;"

Connection String para Excel 2007 (aparentemente funciona com todas as versões, inclusive 2010, mas não confirmei a informação):
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=meuExcel.xlsx;Extended Properties="Excel 12.0;HDR=YES;IMEX=1"

Obter as propriedades das planilhas dentro do arquivo (util para saber o nome das planilhas antes de fazer um SELECT):
DataTable dtSchema = null;
dtSchema = conObj.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
o datatable retornado terá as colunas: TABLE_CATALOG, TABLE_SCHEMA, TABLE_NAME, TABLE_TYPE, TABLE_GUID, DESCRIPTION, TABLE_PROPID, DATE_CREATED e DATE_MODIFIED

Executar um SELECT comum em uma planilha dentro do arquivo:
using(OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Planilha1$]"))
{
cmd.Connection = this.cnn;
OleDbDataAdapter da= new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds,"Planilha1");
}

Para selecionar apenas uma parte da planilha, faça como faria numa fórmula de excel:
"SELECT * FROM [Planilha1$A10:B10]"


Basicamente é isso, não se esqueça que cada pc que sua aplicação for instalada, os registros têm de ser alterados também, entçao altere o installer e patcher da sua aplicação para fazer isso sempre que necessário.

Tem muita coisa pra falar ainda de Excel e seus [tri](bi)milhões de problemas gerados, mas por enquanto é só!

cya next class!
 
   


Comentários sobre o artigo


Poste um comentário >>
Nome  
Email
Comentário    
Postar Comentário