C# ile bir excel dosyası oluşturmalıyım. XML belgesi oluşturmanın bunu yapmanın en kolay yolu olan birkaç yeri okudum mu? Birden çok adlandırılmış sekmeye sahip olmalı ve belirli hücrelerin metin, tarih, sayı vb. Olduğunu belirtmem gerekiyor. Herhangi bir öneri veya iyi örnek var mı?C# ile Excel Dosyaları Oluşturma #
cevap
Sen System.IO.Packaging API ihtiyaç - Bu ekleyebileceksiniz Inserting Values into Excel 2007 Cells'da açıklandığı gibi .xlsx belgeleri oluşturun. Excel 2007 formatı, Excel 2003 ve XP tarafından ücretsiz Microsoft Office Compatibility Pack yüklü olarak da kullanılabilir.
NPOI bir göz atın: Bu da oldukça iyi SO başka bir yerde kapalı olan
Biz iş yerinde Aspose adlı bir paketi kullanmak CarlosAg Excel Xml Writer Library. Bizim için harikalar yaratan büyük tam özellikli "Hücreler" bileşenine sahiptir.
http://epplus.codeplex.com/ - Bu projeye bir bakın, onun beensi bana çok yardımcı oluyor. Ben de bu bağlantıyı bulundu: Office için https://stackoverflow.com/questions/170652/whats-the-best-net-library-for-parsing-and-generating-excel-spreadsheets
Visual Studio Araçları yapmak için güzel bir yoldur bu
Microsoft'un tavsiye ettiği mekanizma kullanarak içerir gibi bu yapmak sinir bozucu zor Masaüstü için iyi, ancak web için işe yaramaz ofis.
.xls
dosyaların ikili biçimi, Microsoft
.xslx
Office 2007'deki .xlsx
açık XML dosya tanıtıldı yüzden, görgü ise sözde basittir - XML dosyalarının tam sadece bir zip konteyneri bulunuyor. System.IO.Packaging
ile açabilir ve System.Xml
ile düzenleyebilirsiniz. Ofisin eski sürümleri için bile bir uyumluluk paketi var.
Ne yazık ki sadece basit değil - .xslx
biçimi horrible beyond words şeklindedir.
16 bit optimize edilmiş ikili .xls
biçimini (başlangıçta Windows 3.1 için tasarlanmış) aldılar ve ikili yerine XML'ye serileştirdiler. Sonra gerçekten aptalca değişiklikler eklediler, hücre yorumları aslında VML gibi - IE5 ile varsayılan olarak düşürülmüş bir format! Ayrıca, XML'e bir ton sihirli sayı ve meta veri eklediler. Böylece, üzerinde herhangi bir dönüşüm kullanamazsınız. Bu yüzden, bu enayi el ile ayrıştırıyorsunuz.
Sonunda, hata ayıklamak için tam bir eşek oluşturduk ve düzenli olarak, uyumluluk paketinin bozuk (neden yok) olarak bildirdiği ancak Office'in son sürümünün düzgün açabileceği .xslx
dosyalarını buluruz.
Bunun için gerçekten güzel bir açık kaynak kitaplığı var: SpreadsheetLight. Çok iyi bir kütüphane, ama .xslx
dosyalarını kendiniz kazmanız ve ölçmeniz gereken her şey acı verici olacak.
- 1. Sadece excel dosyaları filtreleme C#
- 2. c ile excel sütununu dondurun # #
- 3. MySQL Excel dosyası oluşturma
- 4. Titanium kullanarak excel dosyası oluşturma
- 5. Excel Interop ile varolan Excel dosyasını Kaydetme/Üzerine Yazma - C#
- 6. NullReferenceException Excel çalışma sayfası oluşturma
- 7. C# ile Win32 olayları oluşturma #
- 8. excel veri satırını C# .net ile okuyabilirsiniz.
- 9. Excel XLSTART sorunu C# ile Net
- 10. C# okuma/yazma .xlsm Dosyaları
- 11. Bir İşlev Oluşturma - Excel VBA
- 12. Visual Studio oluşturma sırasında RDL tarafından tanımlanan dosyaları oluşturma
- 13. Excel ile olmayan Excel dosyalarını açma ve kaydetme
- 14. Excel VBA'dan C#
- 15. mu Apache Matkap Excel dosyaları (.xls) Ben dfs depolama eklenti aracılığıyla excel dosyaları (.xls) sorgulamak çalışıyorum
- 16. Oluşturma Kodu 128 Excel VBA kullanarak barkodlar
- 17. Başkalarının varlığına bağlı olarak farklı XML dosyaları oluşturma C#
- 18. C# .NET ile .odt dosyaları nasıl oluşturulur?
- 19. HTTP POST kullanarak dosyaları gönderme C#
- 20. Python: Excel 2007+ dosyalarına yazma (.xlsx dosyaları)
- 21. Asp.net mvc PDF dosyaları oluşturma
- 22. Neden C dosyaları/* [] */
- 23. Excel, SlickGrid ile davranış gibi Excel
- 24. MongoDB ile Benzersiz Anahtar Oluşturma C#
- 25. Eclipse C++ ile kod oluşturma entegre
- 26. C# ConfigureAwait (false) ile asenkronizasyon/zincir oluşturma
- 27. C# mongo sürücüsü ile sorgu oluşturma
- 28. interop C sırasında excel hesaplamaları geciktirme C#
- 29. C ile Unity'de 2D oyun tahtası/ızgara oluşturma C#
- 30. Excel to SQL, C# kitaplıkları
@wcoenen -nice düzenlemeleri, teşekkürler. – Murph
Excel'in 'System.IO.Packaging' ile nasıl oluşturulacağı ile ilgili bir örnek var mı? Excel ile ilgilenen belgelerde hiçbir şey bulamıyorum. –
@IanBoyd daha iyi bir yol var (şimdi) ClosedXML'e bakın - burada bulabilirsiniz: http://closedxml.codeplex.com/ – Murph