我有一個使用Javascript/jQuery的解決方案,爲我的作品。
當您使用grid.mvc它的一些類添加到THEAD和TBODY,這個班需要爲您生成Excel文件的正確的出口/可視化被刪除。我也使用grid.mvc,並且此代碼導出爲excel,請讓我知道這是否適用於您。
<script>
$("#btnExport").click(function (e) {
$('.grid-wrap').find('table').removeAttr('class');
$('.grid-header').removeAttr('class');
$('.grid-row').removeAttr('class');
$('.grid-cell').removeAttr('data-name');
$('.grid-cell').removeAttr('class');
window.open('data:application/vnd.ms-excel,' + $('.grid-wrap').html());
//MakeAnyFunctionToReloadThePageToGetTheClassesAgain();
e.preventDefault();
});
</script>
@Html.Grid(Model).Columns(columns =>
{
columns.Add(foo => foo.Date).Sortable(true).Filterable(true);
columns.Add(foo => foo.User).Sortable(true).Filterable(true);
columns.Add(foo => foo.Controller).Sortable(true).Filterable(true);
columns.Add(foo => foo.Action).Sortable(true).Filterable(true);
columns.Add(foo => foo.ActionType).Sortable(true).Filterable(true);
columns.Add(foo => foo.JsonObject).Sortable(true).Filterable(true);
}).WithMultipleFilters()
<button type="button" class="btn btn-danger" id="btnExport">export csv</button>
對於「文件無法讀取」這是一個有點猜測的,而是從例子中,我注意到'''curContext.Response.AddHeader(「內容處置」,「附件;文件名=「+文件名);''' 並記住Firefox有一些問題,如果文件名有空格,會導致瀏覽器混淆。你應該把文件名一起放在引號中,像這樣:'''''''''''''''' ''' –