1

Vs'12 asp.net C# MVC, Internet Application Template, Kendo UI, EF Code First

私がやろうとしているのは、すべてをdataModels一緒に使用して、適切にフォーマットされたファイルを構築し、Excel特定のデータを特定のフィールドに配置することです。これらのファイルはかなり複雑です - チェックボックスの追加とチェック Excel では、フィールドの周りにボックスを作成します 他のフォーマット

今私が言えることは、HTMLからExcelにデータをエクスポートすることでしたが、これは私が望むものではありません。私が考えることができる唯一の他の方法は、 a から a までコードを実行しC#、それをダウンロード可能にする/またはエクスポートすることです?controllerclass

これは「ベスト プラクティス」ですか?

4

1 に答える 1

2

EPPlus などのライブラリを使用しbyte[]てExcel を作成する必要があります。Stream次に、FileActionResult を使用してこれを提供できます。

public ActionResult CreateExcel()
{
    var data=_repository.GetExcelData();
    byte[] excel=CreateExcelAsByteArray(data);
    return File(excel, "application/vnd.ms-excel", "excel.xlsx");
}

このメソッドを使用すると、動的に作成された Excel ファイルを提供できます。

更新: EPPlus を使用して Excel ファイルを作成するには:

public byte[] CreateExcelAsByteArray(IEnumerable<int> elems)
{
    using(var ms=new MemoryStream())
    using(var package=new ExcelPackage())
    {
        var ws = package.Workbook.Worksheets.Add("worksheet");
        int i=1;
        foreach(var elem in elems)
        {
            ws.Cells("A"+i).Value=elem;
            i++;
        }
        package.SaveAs(ms);
        return ms.ToArray();
    }
}
于 2013-09-10T16:26:06.660 に答える