У меня есть функция экспорта в Excel, которая отлично работает на моем локальном хосте.Однако, когда я публикую его в IIS 10, он возвращает данные от "tbody", который я ищу.Вот моя таблица:
<div class="pull-right">
<a onclick="exportExcel()" href=""><i class="fas fa-file-excel"></i> Export to Excel</a>
<a onclick="printDiv('printableArea')" title="Print" href=""><i class="fas fa-print"></i> Print</a>
</div>
<div class="col-md-12 accordions" id="printableArea">
<table class="small-table instant-table" id="results">
<thead>
<tr class="blue-heading">
<th class="sorttable_alpha">
Date
</th>
<th class="sorttable_alpha">
Numbers
</th>
</tr>
</thead>
@foreach (var item in Model.OrderByDescending(x => x.Date))
{
<tbody>
<tr data-toggle="collapse" data-target="#numbers@(item.Id)" class="clickable">
<td data-th="Date">
<strong>@item.Date</strong>
</td>
<td>
@item.Numbers
</td>
</tr>
</tbody>
<tbody class="no-print exclude no-Excel">
<tr>
<td colspan="5" style="padding:0 !important" class="no-print">
<div id="numbers@(item.Id)" class="collapse">
<table class="small-table table-bordered">
<thead>
<tr>
<th>Count</th>
<th>Total</th>
</tr>
</thead>
<tr>
<td data-th="Count">@ViewBag.Count</td>
<td data-th="Total">@ViewBag.Total</td>
</tr>
</table>
</div>
</td>
</tr>
</tbody>
}
</table>
</div>
Как видите, у меня есть 2 раздела "tbody": один показывает дату и числа, а другой - количество и общее количество.При экспорте в Excel я хочу скрыть вторую и использую эту функцию JS:
function exportExcel() {
//This will remove the div that contains the Count and Total
$('tbody').each(function () {
$('.no-Excel').remove();
});
var a = document.createElement('a');
//Getting data from our div that contains the HTML table
var data_type = 'data:application/vnd.ms-excel';
var table_div = document.getElementById('printableArea');
var table_html = table_div.outerHTML.replace(/ /g, '%20');
a.href = data_type + ', ' + table_html;
//Setting the file name
a.download = 'Results.xls';
//Triggering the function
a.click();
//Just in case, prevent default behaviour
e.preventDefault();
}
Еще раз, она прекрасно работает на моем локальном компьютере и экспортируется в Excel с заголовками в IIS, но этоне показывать содержимое тела, которое я хочу отобразить.При отладке в браузере они передают одинаковые данные в обеих средах.
Есть идеи, что я могу сделать, чтобы это исправить?Спасибо!