Ayrılmış Değerler (DSV) ile Çalışma – düzenlenebilir belge oluşturma
Eğer CSV veya TSV gibi ayrılmış değerler (DSV) üzerinden create editable document nesneleri oluşturmanız gereken bir .NET geliştiricisiyseniz, doğru yerdesiniz. İlk 100 kelimede GroupDocs.Editor for .NET’in read delimited text C# yapmanın, düzenlemenin ve biçimlendirmeyi kaybetmeden geri kaydetmenin en güvenilir yolu olduğunu açıklayacağız. Herhangi bir Visual Studio çözümüne doğal olarak uyan, tamamen kopyala‑yapıştır‑hazır bir iş akışı elde edeceksiniz.
Hızlı Yanıtlar
- .NET’te CSV düzenlemeyi en iyi hangi kütüphane yönetir? GroupDocs.Editor for .NET.
- Visual Studio’da büyük CSV dosyalarını düzenleyebilir miyim? Evet – API verileri akış olarak işler ve tüm dosyayı belleğe yüklemeyi önler.
- Üretim kullanımında lisansa ihtiyacım var mı? Ticari bir lisans gereklidir; ücretsiz deneme mevcuttur.
- Düzenleme sonrası hangi formatları dışa aktarabilirim? CSV, TSV ve Excel uyumlu elektronik tablo formatları.
- API .NET 6+ ile uyumlu mu? Kesinlikle – .NET Framework 4.5+, .NET Core 3.1+, .NET 5 ve .NET 6’yı destekler.
GroupDocs.Editor bağlamında “create editable document” nedir?
Create editable document, bellekte bir kaynak dosyanın (CSV, TSV vb.) değiştirilebilir bir sürümünü temsil eden bir EditableDocument örneği oluşturmak anlamına gelir. Bu nesne aynı API’yi kullanarak içeriği okumanıza, değiştirmenize ve yeniden kaydetmenize olanak tanır. Belge metnini almayı, değişiklikleri uygulamayı ve çeşitli formatlarda geri kaydetmeyi sağlayan yöntemler sunar; böylece sütun hizalaması ve alıntılamalar korunur.
DSV işleme için neden GroupDocs.Editor kullanılmalı?
GroupDocs.Editor, CSV, TSV ve Excel uyumlu elektronik tablolar dahil 50’den fazla giriş ve çıkış formatını işler ve 500 MB’a kadar dosyalar için bellek kullanımını 10 MB’ın altında tutar. Ayrıca sütun hizalamasını, alıntı kurallarını ve özel kodlamaları otomatik olarak korur; bu da manuel ayrıştırma mantığına ihtiyaç duymamayı sağlar.
Önkoşullar
İlerlemeye başlamadan önce aşağıdakilerin yüklü olduğundan emin olun:
- Visual Studio (herhangi bir yeni sürüm) – IDE içinde doğrudan geliştirme ve hata ayıklama yapacaksınız.
- GroupDocs.Editor for .NET – en son paketi buradan indirin.
- Temel C# bilgisi – öğretici, bir konsol veya ASP.NET projesi oluşturup NuGet paketleri ekleyebileceğinizi varsayar.
Ad Alanlarını İçe Aktarma
Editor, EditableDocument ve seçenek sınıfları GroupDocs.Editor ad alanında bulunur.
DelimitedTextEditOptions sınıfı, ayırıcıyı (virgül, sekme vb.) ve diğer ayrıştırma kurallarını tanımlamanın giriş noktasıdır.
using System.Collections.Generic;
using System.IO;
using GroupDocs.Editor.Formats;
using GroupDocs.Editor.HtmlCss.Resources;
using GroupDocs.Editor.Options;
CSV dosyasından düzenlenebilir belge nasıl oluşturulur?
Editor ile kaynak CSV’yi yükleyin ve virgül ayırıcı belirten bir DelimitedTextEditOptions örneği geçirerek Edit metodunu çağırın. Metod, bellekte manipüle edebileceğiniz bir EditableDocument döndürür. Bu iki adımlı desen—yükle → düzenle—read delimited text C# senaryolarını kapsar ve orijinal dosya yapısının korunmasını sağlar.
Adım 1: Giriş DSV Dosyasının Yolunu Alın
İlk olarak, kaynak DSV dosyasının mutlak ya da göreli yolunu belirtmeniz gerekir. Demonstrasyon için projenin Data klasöründeki basit bir CSV’yi kullanacağız.
string inputFilePath = "Your Sample Document";
Adım 2: Editor Örneği Oluşturun
Editor, yükleme, düzenleme ve kaydetmeyi yöneten temel sınıftır. Bir FileInfo nesnesiyle örneklemek, dosya yaşam döngüsü üzerinde tam kontrol sağlar.
using (Editor editor = new Editor(inputFilePath))
{
Adım 3: DSV Düzenleme Seçeneklerini Oluşturun
DelimitedTextEditOptions, editörün dosyayı nasıl yorumlayacağını belirler. Ayırıcıyı, ilk satırın başlık içerip içermediğini ve karakter kodlamasını ayarlayabilirsiniz.
Options.DelimitedTextEditOptions editOptions = new DelimitedTextEditOptions(",");
editOptions.ConvertDateTimeData = false;
editOptions.ConvertNumericData = true;
editOptions.TreatConsecutiveDelimitersAsOne = true;
Adım 4: EditableDocument Örneği Oluşturun
EditableDocument, kaynak dosyanın değiştirilebilir bir bellek içi sürümünü temsil eder. Editor.Edit metodunu seçeneklerle çağırmak bir EditableDocument döndürür. Bu nesne, dosyanın metnini değiştirilebilir bir stringde tutar ve ihtiyacınız olan herhangi bir parse delimited values C# işlemi için hazırdır.
EditableDocument beforeEdit = editor.Edit(editOptions);
Adım 5: Belge İçeriğini Düzenleyin
GetDocumentText() düzenlenebilir belgenin mevcut metnini bir string olarak döndürür. Orijinal metni EditableDocument.GetDocumentText() ile alın, değişikliklerinizi (ör. bir sütun değerini değiştirme) yapın ve sonucu yeni bir stringde saklayın. İşte edit CSV .NET yaparak düşük seviyeli dosya akışlarına dokunmadığınız yer.
string originalTextContent = beforeEdit.GetContent();
string updatedTextContent = originalTextContent.Replace("SsangYong", "Chevrolet").Replace("Kyron", "Camaro");
List<IHtmlResource> allResources = beforeEdit.AllResources;
Adım 6: Güncellenmiş İçerikle EditableDocument Oluşturun
Değiştirilmiş stringi tekrar bir EditableDocument içine sarın. Bu adım değişiklikleri tamamlar ve nesneyi herhangi bir desteklenen formatta kaydetmeye hazırlar.
EditableDocument afterEdit = EditableDocument.FromMarkup(updatedTextContent, allResources);
Adım 7: CSV Kaydetme Seçeneklerini Oluşturun
DelimitedTextSaveOptions, düzenlenmiş içeriği bir CSV dosyasına nasıl yazılacağını belirler. Değişiklikleri kalıcı hale getirmeye hazır olduğunuzda DelimitedTextSaveOptions yapılandırın. Aynı ayırıcıyı, farklı bir ayırıcıyı ya da satır sonu stilini değiştirebilirsiniz.
Options.DelimitedTextSaveOptions csvSaveOptions = new DelimitedTextSaveOptions(",");
csvSaveOptions.Encoding = System.Text.Encoding.UTF8;
Adım 8: TSV Kaydetme Seçeneklerini Oluşturun
Sekme ile ayrılmış bir sürüme ihtiyacınız varsa, ayırıcıyı sadece \t olarak değiştirin. Aynı EditableDocument, farklı seçeneklerle birden çok kez kaydedilebilir.
Options.DelimitedTextSaveOptions tsvSaveOptions = new DelimitedTextSaveOptions("\t");
tsvSaveOptions.Encoding = System.Text.Encoding.UTF8;
Adım 9: Elektronik Tablo Kaydetme Seçeneklerini Oluşturun
SpreadsheetSaveOptions, belgeyi .xlsx gibi Excel uyumlu formatlara dışa aktarmayı yapılandırır. GroupDocs.Editor ayrıca düzenlenmiş verileri bir Excel uyumlu formatta (.xlsx) dışa aktarmanıza izin verir. SpreadsheetSaveOptions sınıfı sütun tiplerini, formülleri ve hücre biçimlendirmesini otomatik olarak yönetir.
Options.SpreadsheetSaveOptions cellsSaveOptions = new SpreadsheetSaveOptions(SpreadsheetFormats.Xlsm);
Adım 10: Kaydetme Yollarını Hazırlayın
Her format için ayrı çıktı yolları tanımlayın. Açık adlandırma kuralları (ör. output.csv, output.tsv, output.xlsx) kullanmak projenizin düzenli kalmasına yardımcı olur.
string outputCsvPath = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), Path.GetFileNameWithoutExtension(inputFilePath) + ".csv");
string outputTsvPath = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), Path.GetFileNameWithoutExtension(inputFilePath) + ".tsv");
string outputCellsPath = Path.Combine(Constants.GetOutputDirectoryPath(inputFilePath), Path.GetFileNameWithoutExtension(inputFilePath) + ".xlsm");
Adım 11: Düzenlenmiş Belgeyi Kaydedin
Save() belgeyi, verilen kaydetme seçenekleriyle diske yazar. Her hedef format için uygun seçeneklerle EditableDocument.Save metodunu çağırın. API, dosyayı doğrudan diske yazar ve siz geçersiz kılmadığınız sürece orijinal kodlamayı korur.
editor.Save(afterEdit, outputCsvPath, csvSaveOptions);
editor.Save(afterEdit, outputTsvPath, tsvSaveOptions);
editor.Save(afterEdit, outputCellsPath, cellsSaveOptions);
Adım 12: EditableDocument Örneklerini Serbest Bırakın
Editor ve EditableDocument her ikisi de IDisposable uygular. Bunları serbest bırakmak dosya tutucularını ve yönetilmeyen kaynakları serbest bırakır; bu, toplu işte birçok dosya işlenirken kritik öneme sahiptir.
beforeEdit.Dispose();
afterEdit.Dispose();
}
System.Console.WriteLine("WorkingWithDsv routine has successfully finished");
Yaygın Sorunlar ve Çözümler
| Sorun | Neden Oluşur | Çözüm |
|---|---|---|
| Beklenmeyen ekstra tırnaklar | Varsayılan CSV ayrıştırıcı gömülü virgülleri ayırıcı olarak algılayabilir. | DelimitedTextEditOptions içinde EscapeMode = EscapeMode.DoubleQuote ayarlayın. |
| Büyük dosyada bellek artışı | Akış kullanmadan 500 MB bir dosya yüklemek. | Tembel yüklemeyi etkinleştiren LoadOptions ile Editor.Load kullanın. |
| Kodlama uyumsuzluğu | Kaynak dosya UTF‑16 kullanıyor ancak seçenekler varsayılan olarak UTF‑8. | Kaydetme seçeneklerinde Encoding = Encoding.Unicode olarak açıkça ayarlayın. |
Sıkça Sorulan Sorular
S: GroupDocs.Editor for .NET’i büyük CSV dosyalarını düzenlemek için kullanabilir miyim?
C: Evet, API verileri akış olarak işler ve tüm belgeyi belleğe yüklemeden 1 GB’den büyük dosyaları bile yönetebilir.
S: GroupDocs.Editor for .NET, CSV ve TSV dışındaki diğer DSV formatlarını destekliyor mu?
C: Kesinlikle – DelimitedTextEditOptions içinde belirttiğiniz sürece tek karakterli herhangi bir ayırıcı (ör. boru |, noktalı virgül ;) desteklenir.
S: DSV dosyalarını kaydederken kodlamayı özelleştirmek mümkün mü?
C: Evet, DelimitedTextSaveOptions içinde Encoding özelliğini UTF‑8, UTF‑16, ISO‑8859‑1 veya ihtiyacınız olan herhangi bir .NET Encoding olarak ayarlayabilirsiniz.
S: GroupDocs.Editor for .NET kullanarak bir CSV dosyasını Excel elektronik tablosuna dönüştürebilir miyim?
C: Evet – düzenlemeden sonra, içeriği bir .xlsx çalışma kitabı olarak dışa aktarmak için SpreadsheetSaveOptions kullanmanız yeterlidir.
S: GroupDocs.Editor for .NET hakkında daha fazla belgeyi nerede bulabilirim?
C: Ayrıntılı API referansları ve kod örnekleri burada mevcuttur.
Son Güncelleme: 2026-06-06
Test Edilen Versiyon: GroupDocs.Editor 23.10 for .NET
Yazar: GroupDocs