私は何時間もインターネットを検索してきましたが、誰も現在の答えがないようです。私は、単純なテーブルをPARTIALビューで設定し、データベースからではなくhtmlテーブルのデータをエクスポートしたいとします。私はプラグインを使用するオプションもありません。私はJavaScript/Jqueryを通してこれを行うことに門戸を開いていますが、私はMVCにはかなり新しいので、インターネット上で他のソリューションを使い果たしてしまいました。ASP.NET MVC 5の部分ビューからHTMLテーブルをエクスポートするにはどうすればいいですか
アドレス帳の概要(一部):
<table class="table table-bordered table-responsive table-striped" id="tblAddressBook">
<thead>
<tr>
<th> @Html.DisplayNameFor(model => model.Name)</th>
<th> @Html.DisplayNameFor(model => model.Address)</th>
<tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<td class="text-right">@Html.DisplayFor(modelItem => item.Name)</td>
<td class="text-right">@Html.DisplayFor(modelItem => item.Address)</td>
}
</tbody>
<tfoot>
<td class="text-right>Model.Sum(model => model.TotalPeople))</td>
<td class="text-right>Model.Sum(model => model.Addresses))</td>
</tfoot>
アドレス帳
<button type="button" class="btn btn-primary">
Export
</button>
<div id="summaryAddressBook">
@Html.Partial("AddressBook/_Summary", Model.Peoples)
</div>
アドレス帳コントローラ
public ActionResult Export() {
Response.ContentType = "application/x-msexcel";
Response.AddHeader("Content-Disposition", "attachment;filename=ExcelFile.xls");
return View();
}
あなたが任意のプラグインを使用することができない場合に使用しているので、あなたは(マイクロソフトオープンXML SDKを使用するよりもかなり多くの他の選択肢を持っていませんサーバー上のinteropは、すべてのコストをかけて回避すべきものです)。これは、コードを書いてバグのないように長い時間がかかり、難しい方法です。または、EPPlusのようなライブラリを使用して、数時間で完了させることができます。 –
@AlexanderDerck時間を費やしても大丈夫ですが、Microsoft Open XML SDKを使用する以外の方法がいくつかあります。私はwebformsの実装を見てきましたがMVCのためのものは本当に有用です – cxwilson