kullanarak tablo silinemiyor Çok basit bir sorunla karşılaşıyorum. EPPlus kullanarak bir tabloyu silme. Karşılaştığım sorun şu ki, koddan hata ayıkladı (Worksheet.Tables
koleksiyonunda), Sil (delete) olarak adlandırdığım tablonun gitmiş halidir. Excel'i kaydetmeye devam ediyorum ve denediğimde Excel bunu açmak için "onlar" ile bir sorun bulduğunu ve eğer mümkün olduğu kadar iyileşmek istiyorlarsa bunu söyler. Evet'i seçersem (Dosyayı kapatır çünkü) kodu sildiğim tablo geri döndü tekrar.EPPlus
Ben true
için Delete()
yöntemde ClearRange
özelliği ayarlamak, tablo, hala, ama bu sefer başlık sütunları gitti ve bunun yerine Excel bazı varsayılan adlar (Sütun1'de, Sütun2 ile masamı yeniden oluşturur vb. orijinal tablonun sütun sayısına bağlı olarak)
Tablonun TableXml
özelliğini değiştirmeye çalıştım ve hala çalışmıyor. Bunun dışında, sadece 3 saat boyunca interneti okudum ve problemime hiç bir çözüm getiremedim. Herkes merak eğer
Yani, bu kodudur:
using (var package = new ExcelPackage(fileToWriteTo, templateToStartWith))
{
var workbook = package.Workbook;
var worksheet = workbook.Worksheets[WORKSHEET_NAME];
worksheet.Tables.Delete("dynamicTable", true);
//worksheet.Tables.Delete("dynamicTable");
package.Save();
}
Gördüğünüz gibi, tür başarısız bir çok temel çalışma. EPPlus ile bir tablodaki bir tabloyu kaldırmak için bir çözüm bilen varsa, lütfen paylaşın. Çok memnun olurum.
Açıkçası * temel bir şey değil - tablo bir aralık için bir isim, * aralık veya içeriği. Bunu kaldırmak, onu kullanan tüm işlevleri, onu dolduran bağlantıları bozabilir. Basitse, XML'in kendisini değiştirmesi işe yarar. Bunu basit bir sayfa ile, yani sadece bir tablo, biçimlendirme, bağlantı vb. Ile denediniz mi? Tablo, herhangi bir formülde, bağlantılarla doldurulmuş mu? –
Bu bir hata. Bir tabloyu silmek, çalışma sayfası kısmını değiştirir, ancak * tablodaki tabloyu "klasör" veya paketin içindeki "Content_Types" dosyası için * kaldırmaz. Ne yazık ki, EPPlus gerçek OpenXML paketini veya parçalarını göstermez, böylece yetimleri el ile kaldırmanın bir yolu yoktur. –
Cevabınız için teşekkürler. Temel olarak epplus (basit bir '.Delete()') tarafından ifşa edilen operasyona atıfta bulundum. Soruda belirtildiği gibi xml değiştirmeye çalıştım. Hiçbir şey olmuyor. Sadece onu yok sayar. –