Comment vérifier si une feuille existe dans un Excel en utilisant interop. J'ai essayé ce qui suit, mais il jette un COMException sinon il .. Y at-il une meilleure façon de savoir que la recherche fait à l'exceptionvérifier si une feuille existe en Excel
Worksheet sheet = null;
Sheets worksheets = some;
sheet = (Worksheet)worksheets.get_Item("sheetName");
if(sheet!=null)
{
//do something
}
Edit:
Merci pour les gars d'entrée.
i a écrit une fonction
private Dictionary<string, Worksheet> GetSheetsMap(Sheets worksheets)
{
if (worksheets == null)
throw new ArgumentNullException("worksheets");
Dictionary<string, Worksheet> map = new Dictionary<string, Worksheet>(StringComparer.CurrentCultureIgnoreCase);
foreach (Worksheet s in worksheets)
{
map.Add(s.Name, s);
}
return map;
}
et je l'utilise comme ci-dessous
Dictionary<string, Worksheet> sheetMap = GetSheetsMap(worksheets);
Worksheet sheet = null;
if (sheetMap.TryGetValue(ExtendedTemplateManager.BasicUserTemplate, out sheet))
{
//found it.
}
else
{
// not
}
Je dois implémenter la logique selon si une feuille est présente ou non. –