GVKun编程网logo

asp.net – 将HTML表导出到Excel(html里的表格导出excel)

4

最近很多小伙伴都在问asp.net–将HTML表导出到Excel和html里的表格导出excel这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展.netmvc将数据库数据导出到Ex

最近很多小伙伴都在问asp.net – 将HTML表导出到Excelhtml里的表格导出excel这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展.net mvc将数据库数据导出到Excel表、ASP.NET MVC把表格导出到Excel、asp.net – 将数值强制为HTML表导出为excel的文本、asp.net-mvc – 在Asp.net MVC中导出到Excel [已关闭]等相关知识,下面开始了哦!

本文目录一览:

asp.net – 将HTML表导出到Excel(html里的表格导出excel)

asp.net – 将HTML表导出到Excel(html里的表格导出excel)

我在ASP.NET MVC View页面上有 HTML表.现在我必须将此表导出到Excel.

(1)我使用局部视图(Inquiries.ascx)来显示数据库中的表数据(使用LINQ to Entity)
(2)我也使用UITableFilter插件来过滤记录(例如:http://gregweber.info/projects/demo/flavorzoom.html)

(3)在任何时候,我都必须将可见记录过滤到Excel.

感谢您的回复.

谢谢

丽塔

这是我的观点:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Mvc.Master" Inherits="System.Web.Mvc.ViewPage" %>


<asp:Content ID="Content2" ContentPlaceHolderID="cphHead" runat="server">
<script src="../../Scripts/jquery.tablesorter.js" type="text/javascript"></script>
     <script src="../../Scripts/jquery.uitablefilter.js" type="text/javascript"></script>

<script type="text/javascript">
 //Load Partial View
$('#MyInquiries').load('/Home/Inquiries');

// To Apply Filter Expression using uiTableFilter plugin
            $("#searchName").keyup(function() {
                $.uiTableFilter($("#tblRefRequests"),this.value);
                $("#tblRefRequests").tablesorter({ widthFixed: true,widgets: ['zebra'] });
            });


//Export the HTML table contents to Excel
      $('#export').click(function() {
//Code goes here

});
</script>
</asp:Content>

//Main Content
<asp:Content ID="Content1" ContentPlaceHolderID="cphContent" runat="server">
<h2>View All Inquiries</h2>
<input type="submit" value="Export to Excel" id="export" />
<div id='MyInquiries'></div>
</asp:Content>

强类型部分视图用户控件(Inquiries.ascx)生成表:

<table>
    <tr><td valign ="middle">Filter Expression: <%= Html.TextBox("searchName")%></td></tr>
    </table>
    <table id="tblRefRequests" >
    <thead>
        <tr>
            <th>Tx_ID</th>
            <th>TX Date</th>
            <th>Name</th>
            <th>Email Address </th>
            <th>Products</th>
            <th>Document Name</th>
        </tr>
</thead>

<tbody>
    <% foreach (var item in Model) { %>
        <tr>
            <td visible =false><%= item.RequestID %></td>
            <td><%= String.Format("{0:d}",item.RequestDate) %></td>
            <td><%= item.CustomerName %></td>
            <td><%= Html.Encode(item.Email) %></td>
            <td><%= item.ProductName %></td>
            <td><%= Html.Encode(item.DocDescription)%></td>
        </tr>
    <% } %>
</tbody>
    </table>

这是我的控制器代码加载查询局部视图:

[HttpGet]
        public PartialViewResult Inquiries()
        {
var model = from i in myEntity.Inquiries
  where i.User_Id == 5
                        orderby i.TX_Id descending
                        select new {
                            RequestID = i.TX_Id,CustomerName = i.CustomerMaster.FirstName,RequestDate = i.RequestDate,Email = i.CustomerMaster.MS_Id,DocDescription = i.Document.Description,ProductName = i.Product.Name
                        };
            return PartialView(model);
        }

解决方法

尝试jQuery插件: table2csv.使用参数,delivery:’value’,将csv作为字符串返回.

这是一个实现:

>向页面添加常规html输入按钮和.NET HiddenField
>将onclick事件添加到名为“Export”的按钮
>创建一个javascript函数Export,它将table2CSV()的返回值存储到隐藏字段中,然后回发.
>服务器接收隐藏字段的发布数据(csv作为字符串)
>服务器将字符串作为csv文件输出到浏览器

.

// javascript  
function Export()  
{    
    $('#yourHiddenFieldId').val() = $('#yourTable').table2CSV({delivery:'value'});  
    __doPostBack('#yourExportBtnId','');  
}

// c#  
if(Page.IsPostBack)  
{
    if(!String.IsNullOrEmpty(Request.Form[yourHiddenField.UniqueId]))  
    {  
        Response.Clear();  
        Response.ContentType = "text/csv";  
        response.addheader("Content-disposition","attachment; filename=TheReport.csv");  
        Response.Flush();  
        Response.Write(Request.Form[yourHiddenField.UniqueID]);  
        Response.End();  
    }  
}

.net mvc将数据库数据导出到Excel表

.net mvc将数据库数据导出到Excel表

第一步:NuGet下载EPPlus

 

第二步:控制器代码,在名为CorrectHomeWork的控制器创建方法ExcelExport,头部不需要[HttpPost]

//将该课程中的该作业命题的全部学生作业导入Excel表
        public ActionResult ExcelExport()
        {
            string Task_Title = Session["Task_Title"].ToString();
            string L_Name = Session["L_Name"].ToString();
            string C_Name = Session["C_Name"].ToString();
            //指定项目存放的路径
            string sWebRootFolder = AppDomain.CurrentDomain.BaseDirectory + "/DownLoadExcelexport";
            //指定项目名字
            //string sFileName = $"{Guid.NewGuid()}.xlsx";
            string sFileName = C_Name+ L_Name+ Task_Title+"作业成绩表"+ $"{Guid.NewGuid()}.xlsx";
            //把项目名加到指定存放的路径
            FileInfo file = new FileInfo(Path.Combine(sWebRootFolder, sFileName));
            using (ExcelPackage package = new ExcelPackage(file))
            {
                //添加worksheet的名字
                ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("作业成绩单");
                //添加表头名字
                worksheet.Cells[1, 1].Value = "学号";
                worksheet.Cells[1, 2].Value = "班级";
                worksheet.Cells[1, 3].Value = "作业命题";
                worksheet.Cells[1, 4].Value = "分数";
                worksheet.Cells[1, 5].Value = "首次提交日期";
                worksheet.Cells[1, 6].Value = "最后修改日期";
                worksheet.Cells[1, 7].Value = "教师评价";
                //添加值
                var rowNum = 2; // rowNum 1 is head
                var Homework = homeWorkService.Query(s => s.Task_Title == Task_Title && s.L_Name == L_Name);
                //var Homework = from s in con.Homework select s;//循环数据库输出数据
                Homework = Homework.OrderBy(s => s.S_Number);
                foreach (var message in Homework)
                {
                    worksheet.Cells["A" + rowNum].Value = message.S_Number;
                    worksheet.Cells["B" + rowNum].Value = message.C_Name;
                    worksheet.Cells["C" + rowNum].Value = message.Task_Title;
                    worksheet.Cells["D" + rowNum].Value = message.HW_Grade;
                    worksheet.Cells["E" + rowNum].Value = message.HW_SubmitDate.ToString();
                    worksheet.Cells["F" + rowNum].Value = message.HW_UpdataDate.ToString();
                    worksheet.Cells["G" + rowNum].Value = message.HW_Comment;
                    rowNum++;
                }
                package.Save();
            }
            //获取到存在项目中文件的路径
            var fileUrl = Server.MapPath("~/DownLoadExcelexport/" + sFileName);
            //application/ms-excel为内部固定的,
            return File(fileUrl, "application/ms-excel", sFileName);
        }

 

第三步:在视图<a>标签调用控制器方法:

<span style="font-size:18px;color:blue"><a href="/CorrectHomeWork/ExcelExport">Excel表导出作业</a></span>

 

ASP.NET MVC把表格导出到Excel

ASP.NET MVC把表格导出到Excel

有关Model:

namespace MvcApplication1.Models
{
    public class Coach
    {
        public  int Id { get; set; }
        public string Name { get; set; }
    }
}

HomeController中,借助GridView控件把内容导出到Excel:

using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web.Mvc;
using System.Web.UI;
using MvcApplication1.Models;

namespace MvcApplication1.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View(GetCoaches());
        }

        private List<Coach> GetCoaches()
        {
            return new List<Coach>()
            {
                new Coach(){Id = 1, Name = "斯科拉里"},
                new Coach(){Id = 2, Name = "米西维奇"}
            };
        }

        public void ExportClientsListToExcel()
        {
            var grid = new System.Web.UI.WebControls.GridView();

            grid.DataSource = from item in GetCoaches()
                              select new
                              {
                                  编号 = item.Id,
                                  主教练 = item.Name
                              };

            grid.DataBind();

            Response.ClearContent();
            Response.AddHeader("content-disposition", "attachment; filename=Exported_Coaches.xls");
            Response.ContentType = "application/excel";
            Response.Charset = "utf-8";
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); 
            StringWriter sw = new StringWriter();
            HtmlTextWriter htw = new HtmlTextWriter(sw);

            grid.RenderControl(htw);

            Response.Write(sw.ToString());

            Response.End();

        }

    }
}

Home/Index.cshtml强类型集合视图:

@model IEnumerable<MvcApplication1.Models.Coach>

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<table>
    <tr>
        <th>编号</th>
        <th>主教练</th>
    </tr>
    @foreach (var item in Model)
    {
        <tr>
            <td>@item.Id</td>
            <td>@item.Name</td>
        </tr>
    }
</table>

<br/>
@Html.ActionLink("导出到Excel","ExportClientsListToExcel")

到此这篇关于ASP.NET MVC把表格导出到Excel的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:
  • .NET6导入和导出EXCEL
  • Asp.Net Core实现Excel导出功能的实现方法
  • ASP.NET Core 导入导出Excel xlsx 文件实例
  • asp.net DataTable导出Excel自定义列名的方法
  • ASP.NET使用GridView导出Excel实现方法
  • Asp.Net使用Npoi导入导出Excel的方法
  • asp.net导出excel的简单方法实例
  • asp.net导出Excel类库代码分享
  • ASP.NET导出数据到Excel的实现方法
  • Asp.net中DataTable导出到Excel的方法介绍
  • ASP.NET用DataSet导出到Excel的方法
  • asp.net GridView导出到Excel代码

asp.net – 将数值强制为HTML表导出为excel的文本

asp.net – 将数值强制为HTML表导出为excel的文本

我试图在工作中修复一个bug,在传统的ASP中,一个 HTML表被渲染,然后作为一个Excel文件发送给客户端.我将放弃整个源代码示例,但是本质上我们有一列为字母数字,但当值以一个或多个零开始时,零将消失.我知道这是处理数字的标准Excel行为,但我希望它将该值视为文本.我该怎么做?

问题单元格:

Response.Write("<tdalign='left' NowRAP>" & rspodetail("ITM_ID") & "</td>")

例子

HTML | EXCEL
00212704 | 212704
00212336 | 212336
00212251 | 212251

解决方法

也许try =“00212704”
Response.Write("<tdalign='left' NowRAP>=""" & rspodetail("ITM_ID") & """</td>")

asp.net-mvc – 在Asp.net MVC中导出到Excel [已关闭]

asp.net-mvc – 在Asp.net MVC中导出到Excel [已关闭]

我正在使用一个ASP.NET MVC应用程序,我需要将数据导出到excel电子表格中。以前,在Webforms应用程序中,我使用了一些代码,将GridView渲染为兼容Excel的文件。这很方便。我想知道在MVC中最快/最有效的方法是什么。谢谢。

解决方法

一个简单的选择是创建一个视图来呈现Excel文件的XML版本。您可以使用新的Office 2007版本或旧版本的2003版本。我们选择2003版本,以便更多的人可以使用它,但这取决于你,当然。

XML 2003 ref on MSDN

XML 2007 ref on MSDN

关于asp.net – 将HTML表导出到Excelhtml里的表格导出excel的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于.net mvc将数据库数据导出到Excel表、ASP.NET MVC把表格导出到Excel、asp.net – 将数值强制为HTML表导出为excel的文本、asp.net-mvc – 在Asp.net MVC中导出到Excel [已关闭]的相关信息,请在本站寻找。

本文标签: