У меня есть HTML-таблица на странице просмотра ASP.NET MVC. Теперь мне нужно экспортировать эту таблицу в Excel.Экспорт таблицы HTML в Excel
(1) Я использовал частичный вид (Inquiries.ascx), чтобы отобразить данные таблицы из базы данных (с помощью LINQ к Entity) (2) Я также использовал UITableFilter плагин для фильтрации записей (например: http://gregweber.info/projects/demo/flavorzoom.html)
(3) В любой момент времени я должен фильтровать видимые записи в Excel.
Цените свои ответы.
Благодаря
Рита
Вот мой Вид:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Mvc.Master" Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="Content2" ContentPlaceHolderID="cphHead" runat="server">
<script src="../../Scripts/jquery.tablesorter.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.uitablefilter.js" type="text/javascript"></script>
<script type="text/javascript">
//Load Partial View
$('#MyInquiries').load('/Home/Inquiries');
// To Apply Filter Expression using uiTableFilter plugin
$("#searchName").keyup(function() {
$.uiTableFilter($("#tblRefRequests"), this.value);
$("#tblRefRequests").tablesorter({ widthFixed: true, widgets: ['zebra'] });
});
//Export the HTML table contents to Excel
$('#export').click(function() {
//Code goes here
});
</script>
</asp:Content>
//Main Content
<asp:Content ID="Content1" ContentPlaceHolderID="cphContent" runat="server">
<h2 class="pageName">View All Inquiries</h2>
<input type="submit" value="Export to Excel" id="export" />
<div id='MyInquiries'></div>
</asp:Content>
Сильно типизированных Частичный вид пользовательского управления (Inquiries.ascx) для создания таблицы:
<table>
<tr><td valign ="middle">Filter Expression: <%= Html.TextBox("searchName")%></td></tr>
</table>
<table id="tblRefRequests" >
<thead>
<tr>
<th>Tx_ID</th>
<th>TX Date</th>
<th>Name</th>
<th>Email Address </th>
<th>Products</th>
<th>Document Name</th>
</tr>
</thead>
<tbody>
<% foreach (var item in Model) { %>
<tr>
<td visible =false><%= item.RequestID %></td>
<td><%= String.Format("{0:d}", item.RequestDate) %></td>
<td><%= item.CustomerName %></td>
<td><%= Html.Encode(item.Email) %></td>
<td><%= item.ProductName %></td>
<td><%= Html.Encode(item.DocDescription)%></td>
</tr>
<% } %>
</tbody>
</table>
Вот мой код контроллера для загрузки частичного просмотра запросов:
[HttpGet]
public PartialViewResult Inquiries()
{
var model = from i in myEntity.Inquiries
where i.User_Id == 5
orderby i.TX_Id descending
select new {
RequestID = i.TX_Id,
CustomerName = i.CustomerMaster.FirstName,
RequestDate = i.RequestDate,
Email = i.CustomerMaster.MS_Id,
DocDescription = i.Document.Description,
ProductName = i.Product.Name
};
return PartialView(model);
}
Я пытался. Он появляется как строка в новом окне. Но я хочу это в файле Excel. – Rita
Я добавил пример кода. Проверьте это. И я не знаю, как вы настроились на экспорт Excel. Это целый другой зверь. Я предлагаю экспортировать CSV. Это намного проще, быстрее и легче и элегантно экспортировать CSV-файл и файл Excel. Вы можете оплатить его как «CSV для Excel». Это то, чем я занимаюсь. –
Похоже на работу. Попробуем сейчас обновить n в ближайшее время. – Rita