Ich habe eine dynamisch generierte HTML-Tabelle. Ich habe eine ActionResult-Methode "GetOrders", die ein OrderViewModel-Listenobjekt basierend auf einem Datumsbereich zurückgibt, der vom Benutzer bereitgestellt wird. Nach dem Rendern der Tabelle möchte ich eine zweite Aktionsmethode haben, die diese Daten in eine Excel-Datei exportiert.Exportieren einer HTML-Tabelle nach Excel
Meine Frage ist: Muss ich die HTML-Tabelle analysieren, die in ein Dataset/Gridview gerendert wird, oder gibt es eine Möglichkeit, die Daten zu speichern, die in der ursprünglichen "GetOrders" -Aktionsmethode abgefragt werden? So könnte ich es für den Export in eine zweite Funktion überführen.
Ich habe einen Teil des Codes, um das Verständnis zu unterstützen, was ich versuche zu erreichen ..
[HttpPost]
public ActionResult GetOrders(DateTime startDate, DateTime endDate)
{
var model = db.SalesOrderDetails
.Where(e => e.SalesOrderHeader.OrderDate > startDate)
.Where(e => e.SalesOrderHeader.OrderDate < endDate)
.Join(db.Products, order => order.ProductID,
product => product.ProductID,
(order, product) => new OrderViewModel()
{
Quantity = order.OrderQty,
UnitNet = order.UnitPrice,
DueDate = order.SalesOrderHeader.DueDate,
CustomerPO = order.SalesOrderHeader.PurchaseOrderNumber,
InvoiceNumber = order.SalesOrderHeader.SalesOrderNumber,
InvoiceTotal = order.SalesOrderHeader.TotalDue,
OrderDate = order.SalesOrderHeader.OrderDate,
AccountNumber = order.SalesOrderHeader.AccountNumber,
Store = order.SalesOrderHeader.Customer.Store.Name,
Customer = order.SalesOrderHeader.Customer.Person.FirstName + " " +
order.SalesOrderHeader.Customer.Person.LastName,
ProductNumber = product.ProductNumber
}).Take(15);
return View(model.ToList());
}
Gibt es eine Möglichkeit, diese Daten zu „greifen“ und es in eine zweite exportToExcel Funktion übergeben ? Oder muss ich herausfinden, wie man es analysiert?