您可能需要创建一个单独的“导出”视图。这意味着,它是自己的控制器Action
,也是View
它自己。该视图需要与您希望生成的 Excel 文件的外观相同。它必须是独立的。没有布局,以及包含 CSS 的样式标签(没有样式/脚本/等的链接)。
这是一个简单的例子:
假设您有一个Controller
名为“家”。
内部动作HomeController
:
public ActionResult Export()
{
Response.AddHeader("Content-Type", "application/vnd.ms-excel");
return View();
}
查看(主页\Export.cshtml):
@{
Layout = "";
}
<style type="text/css">
body {font-family: Tahoma;}
h2 {color:red}
table {border:1px solid black; border-spacing:0}
td {color:green; font-size:.8em; padding:5px}
.heading {background:#ccc}
</style>
<h2>Test</h2>
<table>
<tr class="heading">
<th>Name</th>
<th>Age</th>
</tr>
<tr>
<td>Test1</td>
<td>15</td>
</tr>
<tr>
<td>Test2</td>
<td>16</td>
</tr>
</table>
加载此页面后,它将弹出一个下载框,并以适当的样式在 Excel 中打开。