MVC中 生成XLS文件

Model

 

   public class SpreadsheetModel
    {
        public String fileName { get; set; }
        public String[,] contents { get; set; }
    }

ACTION

            public ActionResult Excel()
            {
                SpreadsheetModel mySpreadsheet = new SpreadsheetModel();
                mySpreadsheet.contents = new String[2, 2]
                {
                    {"Cell11","Cell12"},
                    {"Cell21","Cell22"}
                };
                mySpreadsheet.fileName = "ProofOfConcept.xls";
                return View(mySpreadsheet);
            }

 

View

 

 

 

@model MvcApplication5.Models.SpreadsheetModel

 
@{
    Layout = null;
    Response.ContentType = "application/vnd.ms-excel";
    Response.AddHeader("Content-Disposition", "attachment; filename=" + Model.fileName);
    //Content-Disposition is defined in RFC-2183
}
<?xml version="1.0" encoding="utf-16"?>
<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
    <ss:Worksheet ss:Name="Sheet1">
        <ss:Table>
        @for (int i = 0; i < Model.contents.GetLength(0); ++i)
        {
            <ss:Row>
            @for (int j = 0; j < Model.contents.GetLength(1); ++j)
            {
                <ss:Cell>
                    <ss:Data ss:Type="String">@Model.contents[i, j]</ss:Data>
                </ss:Cell>
            }
            </ss:Row>
        }
        </ss:Table>
    </ss:Worksheet>
</ss:Workbook>

 

 

posted @ 2012-02-25 19:08  Ry5  阅读(339)  评论(0编辑  收藏  举报