Execl导出系统
前台代码:
<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导出系统的更多相关文章
- mvc简单execl导出
直接上代码: public static byte[] GetExecl(DataTable dt, List<string> list) { var sbHtml = new Strin ...
- Dynamics CRM 导出系统中实体的属性字段到EXCEL
我们在CRM中看元数据信息,可以通过SDK中的metadata browser的解决方案包,但该解决方案包只是在可视化上方便了,但如果我们需要在excel中整理系统的数据字典时这个解决方案包就派不上用 ...
- execl 导出
/** * 导出 是把数表中的数据添加到execl表中 */ public function export(){ $xlsData = Db('user')->select(); Vendo ...
- java中poi进行execl导出
首先贴出最终导出的execl截图吧: 前台界面如下: 点击导出时,为其按钮的onclick事件添加exportDate()函数: function exportDate(){ var begin_Da ...
- 将表格table作为execl导出
有时候的需求是从后台获取数据,然后将数据变成execl,进行导出,下载成execl 解决的方法是 一,比较方便的是 这有个插件 可以直接用 https://www.npmjs.com/package/ ...
- VirtualBox虚拟机--导入导出系统&主机启用硬件虚拟化
问题概述:在往新电脑中导入其他电脑中导出的虚拟机后,启动该虚拟机系统时报错说主机不支持硬件虚拟化. 将电脑1中VirtualBox的一个虚拟机系统win7导出成.ova格式的文件, 在电脑2中安装Vi ...
- 在一个form里边同时执行搜索和 execl导出功能
一个form 分搜索 和 导出<form name="searchform" id="searchform" > <input type=&q ...
- 微信公众号用户OpenID同步导出系统
一.简介 同步公众账号用户信息,包括OpenID.昵称.头像.地区等. 二.主要功能 同步公众账号用户 OpenID,以及昵称.头像.性别.地区.关注时间等,支持认证订阅号.认证服务号. 支持超过1万 ...
- C#多样式EXECl导出
sing NPOI.HPSF; using NPOI.HSSF.UserModel; using NPOI.HSSF.Util; using System; using System.Collecti ...
随机推荐
- 清北学堂—2020.1提高储备营—Day 3(图论初步(二))
qbxt Day 3 --2020.1.19 济南 主讲:李奥 目录一览 1.图论(kruskal算法,最短路径算法,拓扑排序) 总知识点:图论 一.kruskal算法 1.目的:求图的最小生成树 2 ...
- VM虚拟机扩展Ubuntu磁盘空间
VM虚拟机扩展Ubuntu磁盘空间 1 环境 VMware版本号:15.0.2 build-10952284 系统:Ubuntu18.04 Ubuntu只挂载一个硬盘,无分区 /dev/sda1 2 ...
- css3基础-选择器+边框与圆角+背景与渐变
Css3选择器相关: section > div直接子元素选择器 div + article相邻兄弟选择器(在元素之后出现) div ~ article通用兄弟选择器(在元素之后出现) 属性选择 ...
- 纪中21日c组T1 1575. 二叉树
1575. 二叉树 (File IO): input:tree.in output:tree.out 时间限制: 1000 ms 空间限制: 262144 KB 具体限制 Goto Probl ...
- 剑指offer-面试题39-数组中出现次数超过一半的数字-快速排序
/* 题目: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字. 例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输 ...
- UVA1635-唯一分解定理的基本应用2
原题:https://vjudge.net/problem/UVA-1635 这是一个极其典型的“从素因子角度出发”的题目,下面是我的代码: #include<iostream> #inc ...
- curl 基本用法
curl usage: curl [options...] <url> $ curl -h -o, --output <file> 写入到文件,而不是输出到stdout -O ...
- [Python] for in单行循环生成dict
for循环体内的语句只有一行的情况的下,可以简化for循环的书写,尤其当你需要生成一个可迭代对象的时候 d = {x:x*10 for x in range(3)} print(d) d1 = [x* ...
- 【巨杉数据库SequoiaDB】巨杉Tech | 巨杉数据库的并发 malloc 实现
本文由巨杉数据库北美实验室资深数据库架构师撰写,主要介绍巨杉数据库的并发malloc实现与架构设计.原文为英文撰写,我们提供了中文译本在英文之后. SequoiaDB Concurrent mallo ...
- bugku_web_变量1(CTF)
这道题考察php全局变量GLOBALS的用法,同样是个php审计题. 看一下代码: flag In the variable ! <?php error_reporting(0); includ ...