您好,我正在寻找有关如何在ASP.NET MVC中导出为excel的最佳方法
现在我从billsternberger.net得到了这个
使用C#从ASP.NET MVC导出到Excel或CSV
//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();
}
从绑定到datagrid并导出到excel。
现在,我需要做的是获取我的html表并将其导出到excel,在这里我在处理表数据时使用了jquery
datatable,因此它的重量更轻,因为它是在客户端完成的。
我尝试使用jquery和ajax将html表传递给控制器上的实体
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'
});
};
但这把我扔了,A potentially dangerous Request.Form value was detected from the client
等等。
如何在MVC上完成?我已经在寻找类似的话题,但是它总是使我陷入第一个工作样本中。
在此致谢
最简单的解决方案是将HTML表导出为CSV文件并发送到服务器。让我们举个例子。假设我们已经定义了一个视图模型:
public class ExportViewModel
{
[AllowHtml]
public string Csv { get; set; }
}
和一个控制器:
public class HomeController : Controller
{
public ActionResult Index()
{
return View(new ExportViewModel());
}
[HttpPost]
public ActionResult Export(ExportViewModel model)
{
var cd = new ContentDisposition
{
FileName = "YourFileName.csv",
Inline = false
};
Response.AddHeader("Content-Disposition", cd.ToString());
return Content(model.Csv, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
}
}
现在,在相应的视图中,我们假设我们已经生成了一些<table>
(生成此表的方式在这里实际上并不有趣):
@model ExportViewModel
<table id="myTable">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>Foo</td>
</tr>
<tr>
<td>2</td>
<td>Bar</td>
</tr>
</tbody>
</table>
@using (Html.BeginForm("Export", null, FormMethod.Post, new { id = "export" }))
{
@Html.HiddenFor(x => x.Csv)
<button type="submit">Export to Excel</button>
}
<script type="text/javascript" src="http://www.kunalbabre.com/projects/table2CSV.js"></script>
<script type="text/javascript">
$('#export').submit(function () {
$('#Csv').val($('#myTable').table2CSV({ delivery: 'value' }));
});
</script>
我们正在使用table2CSV jQuery plugin
将HTML表转换为CSV格式。然后,在将表单提交给服务器之前,结果CSV将存储在一个隐藏字段中。
如果要构建本机XLSX文件,则必须在服务器上使用OpenXML SDK。您不能仅获取HTML表并将其转换为本地Excel文件。由于您只需要将数据发送到服务器,因此该解决方案将更难以实施,但是它将允许您对生成的Excel文件进行更大的自定义。
我需要将一些HTML导出到Word中,发现了以下链接:https://www.codexworld.com/export-html-to-word-doc-docx-using-javascript 代码如下。它生成一个。doc文件(旧的Word格式),但我更喜欢。docx。文章说只要稍加修改就可以完成,但没有说明如何完成。有人知道怎么做这个改变吗?
问题内容: 我在将选项卡中的JSON输出到HTML表时遇到了麻烦(这是javascript / jQuery夜间课程分配的一部分)。请有人看看,并建议我要对表格格式的输出进行哪些修改?我收到成功警报,但表未填充。 谢谢。 和HTML: 问题答案: 代码的主要问题是,在AJAX请求成功完成后,您没有调用任何函数。您至少需要致电才能填充数据。 但是,您可以对代码进行一些改进。首先,删除。这是默认值,并
我需要生成一个DOCX从网页(与图像)。DOCX4J是否可以将HTML内容导出为DOCX格式? 还有其他库可以将HTML内容导出到DOCX吗?
有没有办法从HTML表导出到excel。我在.NET核心应用程序中使用了HTML表格,需要用样式对表格进行格式化,并且需要导出到Excel。
问题内容: 在我的php页面中,我有一个表,如果用户需要,他必须将该表导出到Excel工作表。 用于显示表格的代码是: 我如何将此表导出到Excel工作表。以及 excel.php中 的代码应该是什么。请帮助我..提前谢谢.. 问题答案: 使用PHP Excel生成Excel文件。您可以在此处找到一个名为PHPExcel的好软件: https //github.com/PHPOffice/PHPE
本文向大家介绍c# 将Datatable数据导出到Excel表格中,包括了c# 将Datatable数据导出到Excel表格中的使用技巧和注意事项,需要的朋友参考一下 话不多说,请看代码: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!