Asp.net mvc 4 如何在不使用任何第三方控件的情况下将MVC webgrid结果直接导出为pdf和excel?(iTexti不工作)
我尝试过itextsharp示例和序列化为xml。 Am使用实体框架6.0Asp.net mvc 4 如何在不使用任何第三方控件的情况下将MVC webgrid结果直接导出为pdf和excel?(iTexti不工作),asp.net-mvc-4,webgrid,Asp.net Mvc 4,Webgrid,我尝试过itextsharp示例和序列化为xml。 Am使用实体框架6.0 和asp.net mvc4我使用以下内容导出到excel: 在控制器中: public ActionResult ExportData() { var datasource = db.Products.ToList(); GridView gv = new GridView(); gv.DataSource = datasourc
和asp.net mvc4我使用以下内容导出到excel: 在控制器中:
public ActionResult ExportData()
{
var datasource = db.Products.ToList();
GridView gv = new GridView();
gv.DataSource = datasource;
gv.DataBind();
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=Report.xls");
Response.ContentType = "application/ms-excel";
Response.Charset = "";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gv.RenderControl(htw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
return Json("Success");
}
鉴于:
@using (Html.BeginForm("ExportData", "Home", FormMethod.Post))
{
<button type="Submit">Export to Excel</button>
}
//OR:
@Html.ActionLink("Export to Excel", "ExportData", "Home")
试试这个:
var data=GetFeedbackDetailsExport()
我正在用一些过滤器填充MVC Webgrid中的数据。是否有任何方法可以动态导出仅填充(绑定)的wegrid数据。提前感谢是的,我可以使用gridview将数据导出到excel,但在我的网页中,我在webgrid中显示了数据,这些数据是我想要随机导出到excel的数据。使用控制器的一种操作方法,而不是使用不同的操作方法将数据填充到WEBGRID中,以及使用GRIDVIEW导出数据。请解释为什么iTextSharp不适用于您。向我们展示您尝试的代码,并给出您遇到的任何错误。
public ActionResult ExportData(DateTime fromDate)
{
var datasource = db.Products.Where(g=>g.Date <= fromDate).ToList();
var gridWeb = new WebGrid(source: data, canPage: false, canSort: false);
string exportData = gridWeb.GetHtml(
columns: gridWeb.Columns(
gridWeb.Column("EnterpriseId", "EnterpriseId"),
gridWeb.Column("GroupName", "Group Name"),
gridWeb.Column("Geography", "Geography"),
gridWeb.Column("Country", "Country"),
gridWeb.Column("DeliveryCentre", "Delivery Centre"),
gridWeb.Column("Vendor", "Vendor Name"),
gridWeb.Column("Category", "Category"),
gridWeb.Column("ModelName", "ModelName"),
gridWeb.Column("Status", "Status"),
gridWeb.Column("Date_Submitted", "Submitted On", format: (item) => item.Date_Submitted != null ? item.Date_Submitted.ToString("dd/MMM/yyyy") : ""),
gridWeb.Column("UpdatedBy", "Feedback Given By", style: "col-lg-1"),
gridWeb.Column("UpdatedOn", "Feedback Given On", format: (item) => item.UpdatedOn != null ? item.UpdatedOn.ToString("dd/MMM/yyyy") : "")
)
).ToHtmlString();
return File(new System.Text.UTF8Encoding().GetBytes(exportData),
"application/vnd.ms-excel",
"FeedbackReport.xls");