2009-07-21 9 views
0

J'ai essayé de remplacer tous les « # » dans une feuille de calcul Excel à l'aide d'une application WinForm ...Excel Remplacer tous les caractères trouvés

J'ai essayé quelque chose comme ça

Excel.WorksheetClass excelWorksheet = (Excel.WorksheetClass)application.Worksheets[1]; 
     excelWorksheet.Cells.Replace(@"\", "", Excel.XlLookAt.xlWhole, Excel.XlSearchOrder.xlByColumns, false, Type.Missing, false, false); 

Mais juste remplacez les "#" qui sont seuls dans une cellule, si la valeur de la cellule est "#ABC" alors elle ne remplace pas, l'option avancée dans excel permet de faire cela, mais comment puis-je le faire en utilisant des classes Iterop.

Cordialement

Répondre

4

Le troisième paramètre XlLookAt est le problème. Vous devez utiliser xlPart pour une recherche qui ne correspondra qu'à une partie de la cellule.

+0

Hey merci! Je me fâchais avec celui-ci, je pensais que ce paramètre indique une plage ou quelque chose. Merci! – Rulas

0

darsahan.

Voici le code que j'ai utilisé.

class ExcelOpener 
{ 
    public static void OpenTxtInExcel(string name, string filename) 
    { 
     Excel.Application application = new Excel.Application(); 
     object missing = System.Reflection.Missing.Value; 
     application.Visible = true; 
     application.Workbooks.OpenText 
     (
      filename, 
      missing, 
      1, 
      Excel.XlTextParsingType.xlDelimited, 
      Excel.XlTextQualifier.xlTextQualifierNone, 
      missing, 
      missing, 
      missing, 
      missing, 
      missing, 
      true, //True, using a custom delimiter 
      @"#", //This is the custom delimiter 
      missing, 
      missing, 
      missing, 
      missing, 
      missing, 
      missing 
     ); 

     Excel.Worksheet excelWorksheet = (Excel.Worksheet)application.Worksheets[1]; 
     excelWorksheet.Cells.Replace(@"\", "", Excel.XlLookAt.xlPart, Excel.XlSearchOrder.xlByColumns, false, Type.Missing, false, false); 


    } 
} 

Cordialement

Questions connexes