
|
| auteur : HULK |
 |
Code complètement foireux (traduit automatiquement de VB ?)
|
Ce code permet un export rapide de données vers une feuille excel grâce à une requête ou une procédure stockée. Il devient intéressant si les données à exporter sont volumineuses (plusieurs milliers de lignes).
L'ajout de la référence "Microsoft Excel 11.0 Object Library" est nécessaire.
using Microsoft.Office.Interop;
Excel.Application xlApp;
try
{
xlApp = GetObject(, "excel.application")
}
catch(Exception )
{
xlApp = new Excel.Application();
}
finally
{
xlApp.Visible = false;
}
Excel.Worksheet xsTransfert = xlApp.Workbooks.Add.ActiveSheet;
try
{
xsTransfert.QueryTables.Add(Connection:= _
"ODBC;DRIVER=SQL Server;SERVER= Nom_Server;Integrated
Security=SSPI;" & _
"APP=Microsoft® Query;DATABASE= Nom_Base;Trusted_Connection=Yes", _
Destination:=xsTransfert.Range("A1"))
.CommandText = "Nom_Procedure_stockée" ' ou requete SELECT
.Name = "nom_feuille_excel"
.FieldNames = True
.RowNumbers = True
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = Excel.XlCellInsertionMode.xlOverwriteCells
.SavePassword = False
.SaveData = False
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh(BackgroundQuery:=False)
xlApp.Visible = true;
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
|
|
|
| auteur : cardi |
 |
Faux, ça n'a rien à voir... C'est lié à l'interop COM, cf. MSDN
|
L'attribut [STAThread] (STA pour Single Threaded Appartment) signifie que seul le thread de la fenêtre pourra accéder aux composants de la fenêtre.
Cependant, si un second thread venait à créer un composant durant l'exécution de l'application, c'est ce dernier qui en aurait le contrôle !
|
Consultez les autres F.A.Q's


Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur.
Copyright © 2010 Developpez Developpez LLC.
Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne
peut être faite de ce site ni de l'ensemble de son contenu : textes, documents
et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez
selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.