2008-11-19 78 views
21

Tôi đang làm việc trên ứng dụng ASP.NET MVC nơi tôi cần xuất dữ liệu sang bảng tính excel. Trước đây, trong các ứng dụng webforms, tôi đã sử dụng một số mã mà tôi tìm thấy để render GridView như một tệp tương thích với excel. Điều này khá tiện dụng. Tôi đã tự hỏi phương pháp nào nhanh nhất/hiệu quả nhất là làm điều này trong MVC. Cảm ơn.Xuất sang Excel trong Asp.net MVC

Trả lời

11

Một tùy chọn đơn giản là tạo chế độ xem để hiển thị phiên bản XML của tệp Excel. Bạn có thể sử dụng phiên bản Office 2007 mới hoặc phiên bản 2003 cũ hơn. Chúng tôi đã chọn phiên bản 2003 để nhiều người hơn có thể sử dụng nó, nhưng điều đó tùy thuộc vào bạn, tất nhiên.

XML 2003 ref on MSDN

XML 2007 ref on MSDN

+0

Tôi đã sử dụng cùng một chiến lược để render RSS vv Các công trình lớn. – GalacticCowboy

+0

Hiện tại, chúng tôi đang sử dụng một số địa điểm - dự án web tạo mẫu cho người dùng cuối để chúng tôi có thể nhập lại tệp đó biết rằng định dạng là chính xác. Định dạng XML là tuyệt vời! – sgwill

20

Đây là một bài viết trên blog từ Stephen Walther quyền ASP.NET MVC Tip #2 - Create a custom Action Result that returns Microsoft Excel Documents

+3

Điều này sử dụng thủ thuật cũ của việc viết một tài liệu HTML (về cơ bản là một bảng) với một loại mime Excel. Điều này khác với việc phát trực tuyến tệp Excel gốc. Điều đó nói rằng, đây là một cách tốt để làm điều đó cho hầu hết các ứng dụng, vì Excel xử lý định dạng HTML khá tốt. –

+0

Thật dễ dàng để thay đổi điều này để hiển thị dưới dạng CSV nếu bạn không cần bất kỳ định dạng ưa thích nào. Chỉ cần nhớ trích dẫn kép tất cả các trường nếu có khả năng dấu phẩy hiển thị. –

+1

Tôi đã cố gắng để đi với tùy chọn đầu tiên, hy vọng cách tiếp cận XML sẽ sạch hơn hoặc tôi muốn tìm hiểu điều gì đó, nhưng không tìm thấy một hướng dẫn đầy đủ về nó. Đã dành một vài giờ làm rối tung với điều đó, sau đó dành ra dưới một giờ để thực hiện cách tiếp cận này, nó sạch hơn tôi mong đợi. –