栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在asp.net MVC2中将html表导出到Excel

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在asp.net MVC2中将html表导出到Excel

最简单的解决方案是将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 jQueryplugin
将HTML表转换为CSV格式。然后,在将表单提交给服务器之前,结果CSV将存储在一个隐藏字段中。

如果要构建本机XLSX文件,则必须在服务器上使用OpenXML SDK。您不能仅获取HTML表并将其转换为本地Excel文件。由于您只需要将数据发送到服务器,因此该解决方案将更难以实施,但是它将允许您对生成的Excel文件进​​行更大的自定义。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/386116.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号