前台代码:

<button class="btn btn-warning" type="button" onclick="location.href = '/DownExpress/DownExpress2'">
导出报表
</button>

后台代码:

public void DownExpress2()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("序号", typeof(string)));
dt.Columns.Add(new DataColumn("计划单号", typeof(string)));
dt.Columns.Add(new DataColumn("出库日期", typeof(string)));
dt.Columns.Add(new DataColumn("客户名称", typeof(string)));
dt.Columns.Add(new DataColumn("状态", typeof(string))); #region 补填表结构+数据
List<SaleOutboundOrderChild> saleoutboundorderchild = new List<SaleOutboundOrderChild>();
if (Session["SaleOutboundOrderChild"] != null)
saleoutboundorderchild = (List<SaleOutboundOrderChild>)Session["SaleOutboundOrderChild"];
if (saleoutboundorderchild.Count() == 0)
Response.Write("<script type='text/javascript'>alert('没有查询到数据!')</script>");
int num = 1;
foreach (var item in saleoutboundorderchild)
{
string TPrice = item.TPrice.ToString();
if (item.SaleOutboundOrder.BackID != null)
TPrice = "-" + TPrice;
string TypeClassRollName = "";
if (item.TypeClassRoll != null)
TypeClassRollName = item.TypeClassRoll.Name;
double? Zprice = 0;
var m = db.StockInfo.FirstOrDefault(n => n.Code == item.MaterialCoding);
if (m != null)
Zprice = m.UnitPrice * item.TQuantity;
if (item.SaleOutboundOrder.BackHouse == 1)
Zprice = -Zprice; string TypeName = "";
if (item.MaterielTwo != null)
{
TypeName = item.MaterielTwo.TypeName.Replace("\t", ""); }
dt.Rows.Add(num++, item.MarketingPlanChild.MarketingPlan.OrderNo, Common.Date(item.SaleOutboundOrder.SaleDate), item.MarketingPlanChild.MarketingPlan.Client.AbbreviationName, item.MarketingPlanChild.PStatus );//补填数据
}
string shtnl = "";
for (int a = 0; a < dt.Columns.Count; a++)
{
shtnl = shtnl + dt.Columns[a] + '\t';
}
shtnl = shtnl + "\n";
for (int i = 0; i < dt.Rows.Count; i++)
{ for (int j = 0; j < dt.Columns.Count; j++)
{
shtnl = shtnl + dt.Rows[i][j] + '\t';
}
shtnl = shtnl + "\n"; }
DateTime dtime = DateTime.Now;
#endregion
ComNo.ExportToExcel("application/x-excel", "销售出库单数据.xls", shtnl);
}

 ExportToExcel

        /// <summary>
/// 导出表格信息
/// </summary>
/// <param name="FieldType"></param>
/// <param name="FileName"></param>
/// <param name="dt"></param>
public static void ExportToExcel(string FieldType, string FileName, string dt)
{
System.Web.HttpContext.Current.Response.Charset = "utf-8";
System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8).ToString());
System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
System.Web.HttpContext.Current.Response.ContentType = FieldType;
StringWriter tw = new StringWriter();
System.Web.HttpContext.Current.Response.Output.Write(dt);
System.Web.HttpContext.Current.Response.Flush();
System.Web.HttpContext.Current.Response.End();
}

  

Execl导出系统的更多相关文章

  1. mvc简单execl导出

    直接上代码: public static byte[] GetExecl(DataTable dt, List<string> list) { var sbHtml = new Strin ...

  2. Dynamics CRM 导出系统中实体的属性字段到EXCEL

    我们在CRM中看元数据信息,可以通过SDK中的metadata browser的解决方案包,但该解决方案包只是在可视化上方便了,但如果我们需要在excel中整理系统的数据字典时这个解决方案包就派不上用 ...

  3. execl 导出

    /** * 导出   是把数表中的数据添加到execl表中 */ public function export(){ $xlsData = Db('user')->select(); Vendo ...

  4. java中poi进行execl导出

    首先贴出最终导出的execl截图吧: 前台界面如下: 点击导出时,为其按钮的onclick事件添加exportDate()函数: function exportDate(){ var begin_Da ...

  5. 将表格table作为execl导出

    有时候的需求是从后台获取数据,然后将数据变成execl,进行导出,下载成execl 解决的方法是 一,比较方便的是 这有个插件 可以直接用 https://www.npmjs.com/package/ ...

  6. VirtualBox虚拟机--导入导出系统&主机启用硬件虚拟化

    问题概述:在往新电脑中导入其他电脑中导出的虚拟机后,启动该虚拟机系统时报错说主机不支持硬件虚拟化. 将电脑1中VirtualBox的一个虚拟机系统win7导出成.ova格式的文件, 在电脑2中安装Vi ...

  7. 在一个form里边同时执行搜索和 execl导出功能

    一个form 分搜索 和 导出<form name="searchform" id="searchform" > <input type=&q ...

  8. 微信公众号用户OpenID同步导出系统

    一.简介 同步公众账号用户信息,包括OpenID.昵称.头像.地区等. 二.主要功能 同步公众账号用户 OpenID,以及昵称.头像.性别.地区.关注时间等,支持认证订阅号.认证服务号. 支持超过1万 ...

  9. C#多样式EXECl导出

    sing NPOI.HPSF; using NPOI.HSSF.UserModel; using NPOI.HSSF.Util; using System; using System.Collecti ...

随机推荐

  1. LNMP+HTTPS

    title: "Lnmp + Https" date: 2019-08-28T16:18:20+08:00 draft: true --- 注:我的linux的ip地址为192.1 ...

  2. CentOS7安装postgreSQL11

    1.添加PostgreSQL Yum存储库 sudo yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel- ...

  3. libgdiplus安装配置

    1.下载安装包:wget http://download.mono-project.com/sources/libgdiplus/libgdiplus0-6.0.4.tar.gz2.解压缩.编译安装 ...

  4. SpringBoot整合持久层技术--(一)JdbcTemplate

    简介: JdbcTemplate是Spring提供的一套JDBC模板框架,利用AOP技术解决直接使用JDBC带来的重复代码问题.它没有MyBatis使用那么灵活,但是却比直接使用JDBC方便得多.Sp ...

  5. CentOS 编译安装 PyCrypto

    转载自:http://bugcharmer.blogspot.com/2012/07/building-pycrypto-on-amazon-ec2.html Step 1 - Install gcc ...

  6. HDU 6417

    题意 英文 做法 \(S_{a,b}\)为\(a\)与\(b\)中素数次幂奇偶性不同的集合,容易得出\[d_{a,b}=\left\{\begin{aligned}1 &&|S_{a, ...

  7. PAT (Advanced Level) Practice 1028 List Sorting (25 分) (自定义排序)

    Excel can sort records according to any column. Now you are supposed to imitate this function. Input ...

  8. PTA 1001 A+B Format

    问题描述: Calculate a+b and output the sum in standard format -- that is, the digits must be separated i ...

  9. 使用ADO.NET 查询和操作数据

    一.使用StringBuilder类追加和删除字符串 1.创建StringBuilder类的对象 StringBuilder sb=new StringBuilder("初始字符串值&quo ...

  10. 设置display:inline-block 元素间隙

    上代码: <div class="page"> <a href="" class="num">共1231条</ ...