c# mvc如何生成excel

  我们知道mvc可以通过js生成excel文件,同样在后台c#中一样可以生成excel文件。

  首先我们要在后台中写如下方法:

  

[HttpGet]public FileResult excel_generation(string userid,string count,string order_id,string order_name,string rec_person,string height,string shoulder_width,string sleeve_length,string phone,string weight,string breast,string upper_hip,string size,string waist,string pants_length,string age,string hip,string thigh,string price,string userrmk,string address, string imgs,string mianliaormk="",string nanyi ="",string logo="",string gencustom="",string bodyspacial="",string isredo="否",string color="原图色",string mianliaohoudu="",string mianliaotanli="")
        {
            var excel_text = new System.Text.StringBuilder();
            //excel_text.Append("<table width=‘400 height=‘392‘ border=‘1‘ cellpadding=‘1‘>");
            excel_text.Append("<table border=‘1‘ cellpadding=‘1‘>");
            excel_text.Append("<tbody>");
            excel_text.Append("<tr>");
            excel_text.Append("<td height=‘44‘ colspan=‘8‘><div align=‘center‘>");
            excel_text.Append("<h2><strong>订单信息表</strong></h2>");
            excel_text.Append("</div></td>");
            excel_text.Append("</tr>");

            excel_text.Append("<tr>");
            excel_text.Append("<td height=‘28‘><strong><p align=‘center‘>" + "订单号" + "</p></strong></td>");//订单号
            excel_text.Append("<td><p align=‘center‘>‘" + order_id + "</p></td>");
            excel_text.Append("<td><strong><p align=‘center‘>" + "名称" + "</p></strong></td>");//名称
            excel_text.Append("<td colspan=‘5‘><p align=‘center‘>" + order_name + "</p></td>");
            excel_text.Append("</tr>");

            excel_text.Append("<tr>");
            excel_text.Append("<td height=‘28‘ width=‘106‘><strong><p align=‘center‘>" + "用户id" + "</p></strong></td>");//用户id
            excel_text.Append("<td width=‘184‘><p align=‘center‘>" + userid + "</p></td>");//----------------------------------------新增
            excel_text.Append("<td width=‘106‘><strong><p align=‘center‘>" + "身高" + "</p></strong></td>");//身高
            excel_text.Append("<td width=‘78‘><p align=‘center‘>" + height + "</p></td>");
            excel_text.Append("<td width=‘82‘><strong><p align=‘center‘>" + "肩宽" + "</p></strong></td>");//肩宽
            excel_text.Append("<td width=‘78‘><p align=‘center‘>" + shoulder_width + "</p></td>");
            excel_text.Append("<td width=‘79‘><strong><p align=‘center‘>" + "袖长" + "</p></strong></td>");//袖长
            excel_text.Append("<td width=‘81‘><p align=‘center‘>" + sleeve_length + "</p></td>");
            excel_text.Append("</tr>");

            excel_text.Append("<tr>");
            excel_text.Append("<td height=‘28‘><strong><p align=‘center‘>" + "收件人" + "</p></strong></td>");//收件人
            excel_text.Append("<td><p align=‘center‘>" + rec_person + "</p></td>");

            excel_text.Append("<td><strong><strong><p align=‘center‘>" + "体重" + "</p></strong></td>");//体重
            excel_text.Append("<td><p align=‘center‘>" + weight + "</p></td>");
            excel_text.Append("<td><strong><strong><p align=‘center‘>" + "胸围" + "</p></strong></td>");//胸围
            excel_text.Append("<td><p align=‘center‘>" + breast + "</p></td>");
            excel_text.Append("<td><strong><strong><p align=‘center‘>" + "上臀围" + "</p></strong></td>");//上臀围
            excel_text.Append("<td><p align=‘center‘>" + upper_hip + "</p></td>");
            excel_text.Append("</tr>");

            excel_text.Append("<tr>");
            excel_text.Append("<td height=‘28‘><strong><p align=‘center‘>" + "联系电话" + "</p></strong></td>");//联系电话
            excel_text.Append("<td><p align=‘center‘>" + phone + "</p></td>");

            excel_text.Append("<td><strong><p align=‘center‘>" + "码数" + "</p></strong></td>");//码数
            excel_text.Append("<td><p align=‘center‘>" + size + "</p></td>");
            excel_text.Append("<td><strong><p align=‘center‘>" + "腰围" + "</p></strong></td>");//腰围
            excel_text.Append("<td><p align=‘center‘>" + waist + "</p></td>");
            excel_text.Append("<td><strong><p align=‘center‘>" + "裤长" + "</p></strong></td>");//裤长
            excel_text.Append("<td><p align=‘center‘>" + pants_length + "</p></td>");
            excel_text.Append("</tr>");

            excel_text.Append("<tr>");
            excel_text.Append("<td height=‘28‘><strong><p align=‘center‘>" + "个性化logo" + "</p></strong></td>");//个性化logo
            excel_text.Append("<td  align=‘center‘><img src=‘" + logo + "‘ height=‘28‘/></td>");

            excel_text.Append("<td><strong><p align=‘center‘>" + "年龄" + "</p></strong></td>");//年龄
            excel_text.Append("<td><p align=‘center‘>" + age + "</p></td>");
            excel_text.Append("<td><strong><p align=‘center‘>" + "臀围" + "</p></strong></td>");//臀围
            excel_text.Append("<td><p align=‘center‘>" + hip + "</p></td>");
            excel_text.Append("<td><strong><p align=‘center‘>" + "大腿围" + "</p></strong></td>");//大腿围
            excel_text.Append("<td><p align=‘center‘>" + thigh + "</p></td>");
            excel_text.Append("</tr>");

            excel_text.Append("<tr>");
            excel_text.Append("<td height=‘28‘><strong><p align=‘center‘>" + "跟单客服" + "</p></strong></td>");//跟单客服
            excel_text.Append("<td><p align=‘center‘>" + gencustom + "</p></td>");
            excel_text.Append("<td><strong><p align=‘center‘>" + "服装价格" + "</p></strong></td>");//服装价格
            excel_text.Append("<td><p align=‘center‘>" + price + "</p></td>");

            excel_text.Append("<td><strong><p align=‘center‘>" + "胚衣寄售" + "</p></strong></td>");//是否重复下单
            excel_text.Append("<td><p align=‘center‘>" + isredo + "</p></td>");

            excel_text.Append("<td><strong><p align=‘center‘>" + "件数" + "</p></strong></td>");//件数
            excel_text.Append("<td><p align=‘center‘>" + count + "</p></td>");
            excel_text.Append("</tr>");

            excel_text.Append("<tr>");
            excel_text.Append("<td height=‘28‘><strong><p align=‘center‘>" + "身体特殊说明" + "</p></strong></td>");//身体特殊说明
            excel_text.Append("<td><p align=‘center‘>" + bodyspacial + "</p></td>");
            excel_text.Append("<td ><strong><p align=‘center‘>" + "面料厚度" + "</p></strong></td>");//面料厚度
            excel_text.Append("<td><p align=‘center‘>" + mianliaohoudu + "</p></td>");
            excel_text.Append("<td><strong><p align=‘center‘>" + "颜色" + "</p></strong></td>");//色号
            excel_text.Append("<td><p align=‘center‘>" + color + "</p></td>");
            excel_text.Append("<td><strong><p align=‘center‘>" + "面料弹力" + "</p></strong></td>");//面料弹力
            excel_text.Append("<td><p align=‘center‘>" + mianliaotanli + "</p></td>");
            excel_text.Append("</tr>");
            excel_text.Append("<tr>");
            excel_text.Append("<td height=‘28‘><strong><p align=‘center‘>" + "面料要求" + "</p></strong></td>");//面料要求
            excel_text.Append("<td colspan=‘3‘><p align=‘center‘>" + mianliaormk + "</p></td>");
            excel_text.Append("<td colspan=‘2‘><strong><p align=‘center‘>" + "面料难易度" + "</p></strong></td>");//面料难易度
            excel_text.Append("<td colspan=‘2‘><p align=‘center‘>" + nanyi + "</p></td>");
            excel_text.Append("</tr>");

            excel_text.Append("<tr>");
            excel_text.Append("<td height=‘68‘><strong><p align=‘center‘>" + "服装要求" + "</p></strong></td>");//服装要求
            excel_text.Append("<td colspan=‘7‘><p align=‘center‘>" + userrmk + "</p></td>");
            excel_text.Append("</tr>");

            excel_text.Append("<tr>");
            excel_text.Append("<td height=‘28‘><strong><p align=‘center‘>" + "收件人地址" + "</p></strong></td>");//收件人地址
            excel_text.Append("<td  colspan=‘7‘><p align=‘center‘>" + address + "</p></td>");
            excel_text.Append("</tr>");

            string[] array = imgs.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < array.Length; i++)
            {
                excel_text.Append("<tr>");
                excel_text.Append("<td height=‘310‘ colspan=‘8‘ align=‘center‘><img src=‘" + array[i] + "‘ height=‘310‘/></td>");
                excel_text.Append("</tr>");
            }

            excel_text.Append("</tbody>");
            excel_text.Append("</table>");

            string filename = order_id.Trim() + "-" + rec_person.Trim() +"-" + order_name.Trim() + "的订单.xls";
            byte[] fileContents = System.Text.Encoding.Default.GetBytes(excel_text.ToString());
            return File(fileContents, "application/ms-excel", filename);

        }

  我们看到,在c#中导出excel,这种方法可以通过画html中table的方式做出excel,而这种方法导出的表格是一个简单表格,在排版上还需要更多的斟酌。

  在前台的时候,务必要注意,不可使用ajax,可以通过使用使用localtion.href="/控制器/excel_generation?参数=参数值"的方法导出表格。

时间: 2024-11-03 22:04:26

c# mvc如何生成excel的相关文章

Spring MVC-集成(Integration)-生成Excel示例(转载实践)

以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_excel.htm 说明:示例基于Spring MVC 4.1.6. 以下示例显示如何使用Spring Web MVC框架生成Excel.首先,让我们使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态窗体的Web应用程序: 步 描述 1 创建一个名为TestWeb的项目,在一个包com.tutorialspoint下,如Spring

导出数据生成Excel(MVC)

/// <summary> /// 生成Excel /// </summary> /// <returns></returns> public FileResult ExportProductInfo() { List<Aniuge_spu> spuList = ProductBusiness.GetInstance().GetProdutInfo(); StringBuilder sb = new StringBuilder(); sb.App

MVC +NPOI+AJAX 查询并生成excel 下载

Controller 代码: public class SubArea2STIReportController : BaseController { [ActionDescription("分区2STI查询")] public ActionResult Index() { var vm = CreateVM<SubArea2STIReportVM>(); return PartialView(vm); } [HttpPost] [ActionDescription(&quo

NPOI 动态生成Excel 转成HTML table显示

直入主题: 需求:从数据集中出去检索的数据,生成Excel ,转成HTML table 显示在页面上.还可以导出Excel . 我实现的效果图: 页面----> Excel----> now  ,说下具体的代码: 1.添加组件:   NPOI 相关组件,Excel转HTML组件. 2.使用了bootstrap 样式,所有要记得引用 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="s

.net生成Excel,并下载

生成Excel的方式有很多种,这里记录两个最简单的: 1.将数据保存为html,然后输出到客户端,保存为Excel文件: 2.通过\t\n生成字符串,然后输出到客户端,保存为Excel. 以上两者的原理都是一致的,只是生成的字符串长相不一致而已.我这里使用的是mvc,所以要下载的话,直接生成一个超链接指向当前这个生成文件的Action,用Ajax好像没办法,但是如果当前这个超链接只是请求一个文件,页面也不会刷新,比如一个按钮点击事件:直接windows.location.href="/contr

python读取和生成excel文件

今天来看一下如何使用python处理excel文件,处理excel文件是在工作中经常用到的,python为我们考虑到了这一点,python中本身就自带csv模块. 1.用python读取csv文件: csv是逗号分隔符格式 一般我们用的execl生成的格式是xls和xlsx  直接重命名为csv的话会报错: Error: line contains NULL byte insun解决方案:出错原因是直接是把后缀为xls的execl文件重命名为csv的 正常的要是另存为csv文件 就不会报错了 譬

PHP 使用 PHPExcel 库生成 Excel 文件

PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言.可以使用它来读取.写入不同格式的电子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等 调用代码示例: $php_excel = new PHPExcel(); $properties = $php_exc

PHP生成excel(1)

先到PHPExcel官网下载PHPExcel类 http://phpexcel.codeplex.com/ 把excel类包含进来,然后直接使用 <?php require "./PHPExcel/PHPExcel.php"; //实例化excel类 $objPHPExcel = new PHPExcel(); //获得当前活动sheet的操作对象 $objSheet = $objPHPExcel->getActiveSheet(); //给当前活动sheet设置名称 $o

一款强大的Office插件,教你如何自动生成Excel图表

项目背景: 在项目里面需要根据数据进行Excel的导出,但有时候不仅仅需要导出数据,而且还需要根据数据进行生成图表进行展示.之前的做法是先在模板里面进行公式的设定如下图1.1.这样就会遇到一个问题,那就是有一天需要不断的增加部门,一个两个还好,若突然需要加十几个或者二十几个,或者不是以部门为纵轴,那么可想而知改动就比较麻烦了,需要不断的修改模板,并且上传,而且这样的改法也比较死板,不适合.1.1图 如何解决 第一步:先查阅目前项目中所使用的NPOI相关的文档,看这个能不能支持相关的操作.很遗憾,