Şu anda birden çok excel dosyasının özel niteliklerini ayarlamak için C# kullanıyorum. Microsoft'tan DSOFile olarak bilinen bir ithal kitaplığı CustomProperties özelliğine yazmak için kullanıyorum. İçinde bulunduğum bir sorun, kodun Şirket ve Yıl gibi önceden yazılmış özel özellikleri olan bir excel dosyasına yazmayı denediğinde, COMException istisnasının, dosyanın zaten var olan özelliklerinin belirtildiğini göstermesi için atılması gerekir. Bu ada sahip bir alan. Tam Mesaj: "Bu isimde bir öğe koleksiyonda zaten var". Dosyaya yeniden yazabilmek için koleksiyondaki bu öğeyi silebilmek istiyorum. Örneğin, yanlışlıkla yanlış yılı yıl içinde dosyaya eklediysem, bu alanı silme ve buna yeni bir değer yazma yeteneği istiyorum. DSOFile sınıfında meta verileri kaldıran bir yöntem bulamadım. Dosya özellikleri penceresinden yapmadan bir dosyadan "program aracılığıyla" meta verileri temizlemenin bir yolu var mı?C# kullanarak Excel dosyasından meta verileri kaldırın.
Örnek Kod: Eğer Şirket veya Yazar gibi Ofisi tarafından kullanılan varsayılan özelliklerini değiştirmek isterseniz
DSOFILE.OleDocumentProperties dso = new DSOFile.OleDocumentProperties();
dso.Open(@"c\temp\test.xls", false, DSOFile.dsoFileOpenOptions.dsoOptionDefault);
//add metadata
dso.CustomProperties.Add("Company", "Sony");
dso.Save();
dso.Close(false);
mümkün mü Yani aşağıdaki iki yöntem kullanabilirsiniz? – StingyJack
bu satırı 'dso.Open (" c \ temp \ test.xls ", false, DSOFile.dsoFileOpenOptions.dsoOptionDefault);' 'a değiştirerek aşağıdaki ' dso.Open (@ "c \ temp \ test.xls", false) , DSOFile.dsoFileOpenOptions.dsoOptionDefault); – MethodMan
@StingyJack Evet, bu benim sorum. – Dwayne