Às vezes no dia-a-dia de nosso trabalho, precisamos acessar várias planilhas do Excel, sendo que se o servidor não possui o MS Office ficamos na mão.
Para resolver este problema vamos criar uma classe para acessar o Excel e uma Interface para criarmos um Excel-QueryAnalizer.
Veremos agora como é simples se comunicar com o excel através do .net.
Criaremos agora a nossa classe de acesso:
Ao criar um arquivo class no visual studio, adicione os nomespace abaixo:
using System.Data.OleDb; using System.IO;
Após ter feito isso, vamos criar nossa classe, segue abaixo o código:
public class ExcelClass { private string _caminho; private string _StringDeConexao; public string Caminho { get { return _caminho; } set { _caminho = value; } } public ExcelClass() { } public DataSet DsExcel(string _query) { _StringDeConexao = @"Provider=Microsoft.Jet.OLEDB.4.0;"; _StringDeConexao += "Data Source=" + _caminho + ";"; _StringDeConexao += "Extended Properties='Excel 8.0;HDR=YES;'"; using (OleDbConnection _cn = new OleDbConnection(_StringDeConexao)) { _cn.Open(); OleDbDataAdapter _adapter = new OleDbDataAdapter(_query, _cn); DataSet ds = new DataSet("EXCEL"); _adapter.Fill(ds); return ds; } } }
# Com a classe criada, vamos agora criar a interface web para usarmos está classe.
Ao criar um WebForm.aspx, adicione um TextBox,Buttom e um GridView.
Como feito na imagem abaixo:
Agora dê dois cliques no Buttom e adicione o código abaixo:
Rode sua aplicação e veja o programa em execução: