/ / Cadena de conexión en app.config - c #, excel

Cadena de conexión en app.config - c #, excel

cómo agregar esta cadena de conexión de código C # en la aplicación.¿Archivo de configuración para el programa de aplicación de formularios de Windows? Veo ejemplos de la adición de db de acceso, pero necesito agregar datos de archivos de Excel, por lo que no puedo encontrar la pregunta anterior sobre la conexión de archivos de Excel en app.config.

OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:MISD_report.xlsx" + @";Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1;ImportMixedTypes=Text;TypeGuessRows=0""";

Respuestas

0 para la respuesta № 1

Prueba esto en el archivo de configuración web

<connectionStrings>
<add name="Excel07ConString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}; Extended Properties="Excel 8.0"" />
<add name="ConnStrName" connectionString="Data Source=database;Initial Catalog=database-name;Persist Security Info=True;User ID=your username;Password=your password" />
</connectionStrings>

0 para la respuesta № 2

Por lo general, se sientan en una sección por su cuenta:

  <connectionStrings>
<add name="myConnectionName" providerName="myProvider" connectionString="Data Source=D:MISD_report.xlsx;Extended Properties=Excel 12.0 Xml;HDR=YES;IMEX=1;ImportMixedTypes=Text;TypeGuessRows=0" />
</connectionStrings>

No sé cuál es el nombre de proveedor para OLE / Excel o qué nombre usar, por lo que el proveedor encuentra la cadena de conexión correcta.


0 para la respuesta № 3

Resolví esto yo mismo.

configuración de la aplicación.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

<connectionStrings>
<add name="MSIDConn"
connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:MISD_report.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1;ImportMixedTypes=Text;TypeGuessRows=0""
providerName="System.Data.OleDb" />

</connectionStrings>
</configuration>

Agregó estas 2 líneas en Form1.cs

utilizando System.Data.OleDb; utilizando System.Configuration;

en el evento de clic de botón:

    private void button1_Click(object sender, EventArgs e)
{

string excelconn = ConfigurationManager.ConnectionStrings["MSIDConn"].ConnectionString;
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = excelconn;

OleDbCommand command9 = new OleDbCommand
(
"SELECT P1, P2, P3 " +
" FROM [PE_Actual$] ", conn
);
DataSet ds9 = new DataSet();
OleDbDataAdapter adaptor9 = new OleDbDataAdapter(command9);
adaptor9.Fill(ds9, "testtable");
dataGridView1.DataSource = ds9.Tables[0].DefaultView;



}