2010-05-08 8 views
1

J'essaie d'insérer des fichiers texte dans une cellule Excel en utilisant Querytables.Add; pas d'erreur, mais la feuille de calcul est vide. sauf pour la manipulation de cellule unique en utilisant la propriété Value2.Importer des fichiers txt en utilisant Excel Interop en C# (QueryTables.Add)

J'utilise déjà une macro pour enregistrer l'objet utilisé.

Pouvez-vous m'aider à ce sujet (j'utilise vs2008, C#, Excel 2003 et 2007, les deux montrés cellule vide).

Voici mon code; merci pour votre aide

 Application application = new ApplicationClass(); 
     try 
     { 
      object misValue = Missing.Value; 

      wbDoc = application.Workbooks.Open(flnmDoc, misValue, misValue, misValue, misValue, misValue, misValue, 
               misValue, misValue, misValue, misValue, misValue, misValue, misValue, 
               misValue); 

      wsRefDocBudgetOwner = (Worksheet)wbDoc.Worksheets[2]; 


      Range lRange = wsRefDocBudgetOwner.get_Range("B2", "B25"); 
      var temp2 = wsRefDocBudgetOwner.QueryTables; 
      var temp = temp2.Add(@"TEXT;d:\temp\config ssas.txt", lRange, Type.Missing); 
      //temp.RefreshStyle = XlCellInsertionMode.xlInsertDeleteCells; 
      //temp.RefreshOnFileOpen = true; 

      wsRefDocBudgetOwner.get_Range("B1", "B1").Value2 = "Lgfdgast adsffdafadfads"; 

      wbDoc.Save(); 
      //wbDoc.SaveAs(flnmDoc2, misValue, misValue, misValue, misValue, misValue, XlSaveAsAccessMode.xlExclusive, 
       //   misValue, misValue, misValue, misValue, misValue); 
      wbDoc.Close(Missing.Value, Missing.Value, Missing.Value); 
     } 
     finally 
     { 

      application.Quit(); 
     } 

Répondre

0

Je l'ai trouvé;

est la propriété RefreshStyle. Il doit être défini sur xlInsertEntierRows.

temp.RefreshStyle = XlCellInsertionMode.xlInsertEntireRows;

comme indiqué dans http://support.microsoft.com/kb/306023