Potrzebuję utworzyć plik programu Excel za pośrednictwem C#. Czytałem kilka miejsc, w których tworzenie dokumentu XML jest najłatwiejszym sposobem na zrobienie tego? Muszę mieć wiele nazwanych kart i być w stanie określić, że konkretne komórki to tekst, data, numer, itd ... Jakieś sugestie lub dobre przykłady?Tworzenie plików programu Excel za pomocą C#
Odpowiedz
Musisz się System.IO.Packaging API - pozwoli to na generować dokumenty .xlsx zgodnie z opisem w Inserting Values into Excel 2007 Cells. Format Excel 2007 może być również używany przez Excel 2003 i XP z zainstalowanym bezpłatnym Microsoft Office Compatibility Pack.
Spójrz na NPOI:
ten został również dość dobrze opisane gdzie indziej na SO:
Używamy pakiet o nazwie Aspose w pracy. Ma duży w pełni funkcjonalny komponent "Komórki", który działa dla nas cuda.
http://epplus.codeplex.com/ - Rzuć okiem na ten projekt, jego pszczoły pomagają mi tak bardzo. Znalazłem ten link na: https://stackoverflow.com/questions/170652/whats-the-best-net-library-for-parsing-and-generating-excel-spreadsheets
Visual Studio Tools for Office jest to dobry sposób, aby zrobić to
To jest frustrująca trudne do zrobienia, zgodnie z zaleceniami mechanizm Microsoftu polega na wykorzystaniu Biuro, które jest dobre na pulpicie, ale bezużyteczne w Internecie.
Format binarny .xls
plików jest przyzwoitość, więc Microsoft wprowadził .xlsx
plików OpenXML w Office 2007.
The .xslx
jest podobno prosta - to tylko pojemnik na zamek pełen plików XML. Możesz go otworzyć pod numerem System.IO.Packaging
i edytować przy pomocy System.Xml
. Dostępny jest nawet pakiet zgodności dla starszych wersji pakietu Office.
Niestety, po prostu nie jest to proste - format .xslx
to horrible beyond words.
Wygląda na to, że wzięli 16-bitowy zoptymalizowany format binarny .xls
(zaprojektowany pierwotnie dla Windows 3.1) i serializowali go do XML zamiast binarnie. Potem dodali naprawdę głupie zmiany, takie jak komentarze komórki są w rzeczywistości VML - format rzekomo upuszczony z IE5! Dodali też mnóstwo magicznych liczb i metadanych do XML, więc nie możesz użyć żadnych transformacji, więc analizujesz to frajerem ręcznie.
W końcu zrobili z niego kompletnego osła do debugowania, a my regularnie znajdujemy pliki .xslx
, które pakiet zgodności zgłasza jako uszkodzone (bez podania przyczyny), ale ostatnia wersja pakietu Office może być otwarta.
Jest tam naprawdę fajna biblioteka open source: SpreadsheetLight. Jest to bardzo dobra biblioteka, ale wszystko, co wymaga od ciebie dokładnego wkomponowania i rozszerzenia plików .xslx
, będzie bolesne.
- 1. Zmiana nazwy plików za pomocą programu Excel VBA
- 2. Drukowanie programu Excel za pomocą Interop
- 3. Otwieranie dokumentu Excel za pomocą programu EPPlus
- 4. Jak zapisać/zastąpić istniejący plik programu Excel za pomocą programu Excel Interop - C#
- 5. za pomocą znaku ":" w XDocument dla generowania programu Excel - C#
- 6. Błąd podczas otwierania skoroszytu programu Excel za pomocą kodu C#
- 7. Zapisywanie arkusza kalkulacyjnego programu Excel za pomocą Interop C#
- 8. Usuwanie zdjęć za pomocą programu Excel VBA
- 9. Edytowanie arkuszy programu Excel za pomocą Pythona
- 10. Konwersja dokumentu docx do programu Excel za pomocą OpenXML
- 11. Arkusze programu Excel + C#
- 12. Tworzenie plików Excel (.xlsx) w kakao
- 13. Eksportuj tabelę HTML do programu Excel za pomocą programu ASP.NET
- 14. Tworzenie i zmienianie tabel Excel za pomocą Apache POI
- 15. Aktualizowanie plików XML za pomocą programu PowerShell
- 16. Uruchamianie makra programu Excel z zewnątrz programu Excel za pomocą skryptu VBScript z wiersza polecenia
- 17. Programowe tworzenie pliku Excel w C++
- 18. Wykonaj polecenie w wierszu polecenia za pomocą programu excel VBA
- 19. Łączenie plików za pomocą programu PowerShell
- 20. Tworzenie wykresu przestawnego za pomocą programu Access 2007 VBA
- 21. Jak uruchomić makro programu Excel za pomocą zadania harmonogramu?
- 22. Tworzenie dokumentu Excel za pomocą OpenXML sdk 2.0
- 23. Tworzenie plików PDF za pomocą django (wkhtmltopdf)
- 24. Tworzenie plików cookie za pomocą jquery
- 25. Pobieranie pliku Excel po utworzeniu za pomocą programu EPPlus
- 26. Próbuję opracować stronę programu Excel za pomocą raportu Jaspera
- 27. Pobierz arkusz programu Excel do tabel tymczasowych za pomocą skryptu
- 28. Import plików CSV do programu Excel
- 29. filtrowanie tylko plików Excel w C#
- 30. Przeczytaj plik programu Excel chroniony hasłem za pomocą OLEDB w C#
@ WCOENEN -Wszystkie zmiany, dzięki. – Murph
Czy istnieje przykład jak zbudować Excel za pomocą 'System.IO.Packaging'? Nie mogę znaleźć niczego w dokumentacji dotyczącej programu Excel. –
@IanBoyd istnieje lepszy sposób (teraz) spójrz na ClosedXML - który można znaleźć tutaj: http://closedxml.codeplex.com/ – Murph