2008-11-19 20 views
21

Pracuję nad aplikacją ASP.NET MVC, w której muszę eksportować dane do arkusza kalkulacyjnego programu Excel. Poprzednio w aplikacjach internetowych użyłem kodu, który znalazłem, aby renderować GridView jako plik zgodny z Excelem. To było bardzo przydatne. Zastanawiałem się, jaka jest najszybsza/najskuteczniejsza metoda, aby to zrobić w MVC. Dzięki.Eksport do programu Excel w Asp.net MVC

Odpowiedz

11

Jedną z prostych opcji byłoby utworzenie widoku do renderowania wersji XML pliku Excel. Możesz użyć nowej wersji Office 2007 lub starszej wersji 2003. Wybraliśmy wersję 2003, aby więcej osób mogło z niej korzystać, ale to oczywiście zależy od Ciebie.

XML 2003 ref on MSDN

XML 2007 ref on MSDN

+0

Użyłem tej samej strategii do renderowania kanałów RSS, itp działa świetnie. – GalacticCowboy

+0

Używamy go teraz w kilku miejscach - projekt internetowy tworzy szablon dla użytkownika końcowego, dzięki czemu możemy ponownie zaimportować ten plik, wiedząc, że format jest poprawny. Format XML jest świetny! – sgwill

20
+3

Używa starej sztuczki pisania dokumentu HTML (w zasadzie tabeli) z typem MIME programu Excel. To różni się od przesyłania strumieniowego natywnego pliku Excel. Powiedział, że jest to świetny sposób, aby zrobić to dla większości aplikacji, ponieważ Excel dobrze radzi sobie z formatowaniem HTML. –

+0

Jest dość łatwo zmienić to na rendering w formacie CSV, jeśli nie potrzebujesz wymyślnego formatowania. Pamiętaj, aby dwukrotnie zacytować wszystkie pola, jeśli istnieje możliwość pojawienia się przecinków. –

+1

Próbowałem użyć pierwszej opcji, mając nadzieję, że podejście XML będzie czystsze lub czegoś się nauczyłem, ale nie udało mi się znaleźć pełnego tutoriala na ten temat. Spędziłem z tym kilka godzin, a potem spędziłem niecałą godzinę na przyjęciu, które było czystsze, niż się spodziewałem. –

Powiązane problemy