Çok sayıda sayfalık bir excel çalışma kitabım var. Üçü hariç tüm sayfaları silmek istiyorum.excel çalışma sayfalarını programatik olarak silme
Özellikle, sıraları (sayfa numarası) yerine sayfa adı kullanarak sayfaları kaldırmanın bir yolu olup olmadığını bilmek istiyorum.
Excel ile çalışmak için excel interop ve C# kullanıyorum.
Microsoft.Office.Interop.Excel.Application xlApp = null;
Excel.Workbook xlWorkbook = null;
Excel.Sheets xlSheets = null;
Excel.Worksheet xlNewSheet = null;
kullanmak, inanıyorum. Bunun yerine, çalışma sayfalarının koleksiyonundan silindiğiniz için, döngüde aşağı doğru gitmemelisiniz? '(int i = WorkSheets.Count; i> 1; i -)' –
Hayır 'C#' uzmanı, ancak 'xlApp.DisplayAlerts = false' vb döngü dışında yer almalıdır. – brettdj
Per @ KenWhite'ın yorumu, evet, silme işleminde geriye doğru dönmeniz gerekiyor, aksi takdirde "i" ile sınırların dışında kalacaksınız - eğer * tek * çalışma sayfasını silerseniz, asla ulaşamayacaksınız '.Worksheets.Count 'o zamandan beri, bu sayfa dizini artık" Sheets "koleksiyonunda mevcut değil. Aksi halde, 'Her bir wksheet' için bir sayfa yapabilir ve sayfanın' .Name' temel alınarak silebilirsiniz. –