Exportation html tableau excel dans asp.net MVC2
Salut suis à la recherche de la meilleure façon sur la façon de l'exportation vers excel dans ASP.NET MVC
Maintenant j'ai celui de la billsternberger.net
Exporter au format Excel ou CSV à partir de ASP.NET MVC avec C#
//Export to excel
public ActionResult Download()
{
List<Lookup> lookupList = data,GetLookupList();
var grid = new System.Web.UI.WebControls.GridView();
grid.DataSource = lookupList;
grid.DataBind();
Response.ClearContent();
Response.AddHeader("content-disposition", "attachment; filename=YourFileName.xlsx");
Response.ContentType = "application/vnd.ms-excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
grid.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
return View();
}
qui est de travailler à partir de liaison de grille de données et les exporter vers excel.
Maintenant ce que je dois faire est d'obtenir le mon tableau html et de les exporter vers excel où j'ai utilisé jquery datatables sur la manipulation des données de la table de sorte qu'il sera plus léger de poids, car elle est faite sur le côté client.
J'ai essayé à l'aide de jquery et ajax où je passe mon tableau html à mes entités sur mon contrôleur de
function Export()
{
var details = {};
details.LookupName = $("#tblLookup").html();
//Validate details
var url_ = generateURL("/Home/Download"); //Call Save Controller and pass details entities
$.ajax({
type: "POST",
url: url_,
data: details, //details will act as the Entities Model
traditional: true,
success: function(data) {
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("error: " + XMLHttpRequest.responseText);
},
dataType: 'json'
});
};
Mais il me jette A potentially dangerous Request.Form value was detected from the client
, etc,..
Comment est-ce fait MVC? J'ai déjà regarder pour certains sujets similaires mais il y a toujours me déplacer pour mon premier échantillon de travail.
Grâce en ce qui Concerne
OriginalL'auteur BizApps | 2012-12-26
Vous devez vous connecter pour publier un commentaire.
La solution la plus simple serait d'exporter le code HTML de la table en tant que fichier CSV et de les envoyer au serveur. Prenons un exemple. Supposons que nous avons défini un modèle d'affichage:
et un contrôleur:
Maintenant à l'intérieur de la vue correspondante, nous supposons que nous avons généré quelques
<table>
(la façon dont ce tableau est généré est vraiment pas intéressant ici):Nous sommes à l'aide de la
table2CSV plugin jQuery
pour convertir le tableau HTML dans un format CSV. Le résultant CSV sera ensuite stockée à l'intérieur d'un champ caché juste avant que le formulaire est transmis au serveur.Si vous voulez construire natif fichiers XLSX, vous devrez utiliser le OpenXML SDK sur le serveur. Vous ne pouvez pas il suffit de prendre un tableau HTML et de le transformer en un natif fichier Excel. Cette solution est plus difficile à mettre en pratique car vous devrez envoyer les données au serveur, mais il vous permettra beaucoup plus de personnalisation le fichier Excel.
Bien, puis décorer le
Export
contrôleur de l'action avec le[ValidateInput(false)]
l'attribut.Merci ça fonctionne, mais l'écran est incorrect. Nom de l'Id"1 Foo"2 Bar avec une seule ligne
Cela ne fonctionne pas. Csv dans mon modèle est null.
OriginalL'auteur Darin Dimitrov