Ir para conteúdo
Fórum Script Brasil
  • 0

Ler Xls com C# (C Sharp) em Asp.Net 3.5


leonecosta

Pergunta

Ola estou tentando fazer um sistema de envio de email no qual e preciso importar um lista de cadastro de emails em Excel com extensão .xls pesquisei como fazer isso e tentei “ler o xls” mas não e da ERRO consegui abaixo o código do script :

To tentando ler e vincular ao DATAGRID mas meu objetivo e incluir no BD

Utilizei como se conectar a um base de banco de dados com o OLEDB.

E tem como utliizar o StreamReader ? e como faz ? ou Outra Classe ou componente que seja simples, facil, rápido e que tenho recursos para validar informações? Pois predento ler o campo e verificar se e campo de nome ou email Como faço essas validações?

Agradeço a todos que me ajudarem.

//============= ERRO NA EXECUCAO

System.Data.OleDb.OleDbException: Não foi possível encontrar ISAM instalável. em System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) em System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) em System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) em System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) em System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) em System.Data.OleDb.OleDbConnection.Open() em LerXls.Page_Load(Object sender, EventArgs e) na d:\web\localuser\crdancas\www\aspnettestes02\LerXls.aspx.cs:linha 53

Provider= Microsoft.Jet.OleDb.4.0;data source= @d:\web\LocalUser\crdancas\www\aspnettestes02\arquivos\estoque.xls;Extended Properties=Excel 11.0;HDR=YES;

Select * From [estoque$]

//=============PAGINA ASPX

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="LerXls.aspx.cs" Inherits="LerXls" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>

    <form id="Form2" method="post" runat="server">
<asp:Label ID="lblSql1" Runat="server" />
<asp:DataGrid ID="dtgAgenda1" Runat="server"
              HeaderStyle-BackColor="Red"
              HeaderStyle-ForeColor="White"
              HeaderStyle-Font-Name="Verdana"
              HeaderStyle-Font-Size="10"
              ItemStyle-BackColor="Cyan"
              ItemStyle-Font-Name="Verdana"
              ItemStyle-Font-Size="10"
              CellPadding="4"
              GridLines="Both" />
              </form>
</body>
</html>
//============== CODIGO C#
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data;
using System.Data.OleDb;



public partial class LerXls : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //string cnn = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\\preço.xls;Extended Properties='Excel 8.0;HDR=NO;'";
       // string _conectionstring;
       // _conectionstring = @"Provider=Microsoft.Jet.OLEDB.4.0;";
       // _conectionstring += String.Format("Data Source={0};", ConfigurationManager.AppSettings["caminhoExcel"]);
      //  //_conectionstring += "Data Source=" + Server.mappath("~/adm/xls/preço.xls") + ";";
       // _conectionstring += "Extended Properties='Excel 8.0;HDR=NO;'";
       
        string MyProvider = "Microsoft.Jet.OleDb.4.0;";
        //pode em ves de Provider colocar Network Library=DBMSSOCN" indica para a  usar TCP/IP Q238949
        string Mydatasource = "d:\\web\\LocalUser\\crdancas\\www\\aspnettestes02\\arquivos\\estoque.xls;";
        //string usuario = "admin";
        //string senha = "123";
        string AdiconalParamStrConn = "Extended Properties=Excel 11.0;HDR=YES;";

        string strConn = @"Provider= " + MyProvider + ""
                          + "data source= @" + Mydatasource + ""
                          + AdiconalParamStrConn;

        // SQL / Access / Oracle  MySql  
        // "User ID=Admin;" & _
        // "Password=" 
        // string strSql = "Select * From [Sheet1$]";//se o seu Excel for em português será Plan1
        // string strSql = "Select * From [Plan1$]";
        //string strSql = "Select * From [estoque$]";

        string strSql = "Select * From [estoque$]";

        lblSql1.Text = strConn + "<br>" + strSql;
        try
        {
            OleDbConnection cn = new OleDbConnection(strConn);
            cn.Open();
            OleDbCommand cmd = new OleDbCommand(strSql, cn);
            
            OleDbDataAdapter da = new OleDbDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            this.dtgAgenda1.DataSource = dt.DefaultView;
            this.dtgAgenda1.DataBind();
            cn.Dispose();
        }
        catch (Exception exc)
        {
            Response.Write(exc.ToString());

        }
        //finally
      ///  {
      //      

       // }

         

    }
}

Editado por quintelab
Adicionado BBCode
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...