当前位置: 首页 > news >正文

.net 后台导出excel ,word

前台代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="BTBW_rk.aspx.cs" Inherits="lxl_HXYRK_BTBW_rk" %>

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>板头板尾入库记录</title>
<link href="../css/myc.css" rel="stylesheet" type="text/css" />
<script src="../css/Publicfun.js" type="text/javascript"></script>
</head>
<body style="background:#E2E5E6;">
<form id="form1" runat="server">
<div style="background:white;margin-left:5px;margin-right:5px;margin-top:5px;border:1px solid black;">
<div style="color: #000;font-size:14px;">
<div>
<img src="../images/top.jpg" />
<span id="zy" style="width: auto; margin-left: 40%; height: 100px; text-align: center;
color: #000; font-weight: bold; font-size: 20px; line-height: 50px;">板头板尾入库记录
</span>
</div>
<div style="margin-bottom:10px;">
<span>欢迎<asp:Label ID="Label1" runat="server" Text="保管"></asp:Label>的到来!</span>
</div>
<div>
入库单号:<asp:TextBox
ID="TextBox4" runat="server" BorderWidth="1px"></asp:TextBox>
&nbsp;
客户名称:<asp:TextBox ID="TextBox1" runat="server" BorderWidth="1px" ></asp:TextBox>&nbsp;入库类型:&nbsp;<asp:TextBox
ID="TextBox5" runat="server"></asp:TextBox>&nbsp;产品名称:<asp:TextBox ID="TextBox6"
runat="server"></asp:TextBox>入库日期:从&nbsp; <asp:TextBox ID="TextBox2"
runat="server" BorderWidth="1px" onClick="WdatePicker({dateFmt:'yyyy-MM-dd'})"></asp:TextBox>
&nbsp;到&nbsp; <asp:TextBox ID="TextBox3" runat="server" BorderWidth="1px" onClick="WdatePicker({dateFmt:'yyyy-MM-dd'})"></asp:TextBox>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<asp:Button
ID="Button1" runat="server" CssClass="BigButton"
Text="查询" />
<asp:Button ID="Button2" runat="server" BorderStyle="Groove"
Text="导出excel" CssClass="BigButton" />
<asp:Button ID="Button3" runat="server" BorderStyle="Groove"
Text="导出word" CssClass="BigButton" />

</div>
<div style="width:100%;height:30px;"></div>

</div>
<div style="margin-bottom:20px;width:99%;margin-left:0.5%;">
<asp:Panel ID="Panel1" runat="server">

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
Width="100%" CssClass="TableBlock" BorderColor="Black" EmptyDataText="暂无记录">
<Columns>
<asp:BoundField DataField="rk_id" HeaderText="入库编号" SortExpression="rk_id" />
<asp:BoundField DataField="客户名称" HeaderText="客户名称" SortExpression="客户名称" />
<asp:BoundField DataField="车间" HeaderText="车间"
SortExpression="车间" />
<asp:BoundField DataField="生产日期" HeaderText="生产日期" SortExpression="生产日期" DataFormatString="{0:yyyy-MM-dd}" />
<asp:BoundField DataField="产品名称" HeaderText="产品名称"
SortExpression="产品名称" />
<asp:BoundField DataField="计量单位" HeaderText="计量单位"
SortExpression="计量单位" />
<asp:BoundField DataField="数量" HeaderText="数量"
SortExpression="数量" />
<asp:BoundField DataField="入库类型" HeaderText="入库类型"
SortExpression="入库类型" />
<asp:BoundField DataField="入库日期" HeaderText="入库日期"
SortExpression="入库日期" DataFormatString="{0:yyyy-MM-dd}" />
<asp:BoundField DataField="制单日期" HeaderText="制单日期" SortExpression="制单日期" />
<asp:BoundField DataField="备注" HeaderText="备注" SortExpression="备注" />
</Columns>
<HeaderStyle Font-Size="9pt" CssClass="TableHeader"/>
<RowStyle Font-Size="9pt" HorizontalAlign="Center" VerticalAlign="Middle"
BorderColor="Black" />
</asp:GridView>
</asp:Panel>
<div style="width:100%;height:20px;"></div>
</div>
</div>
</form>
</body>
</html>

后台代码:

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;

 


public partial class lxl_HXYRK_BTBW_rk : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{


if (!IsPostBack)
{

TextBox2.Text = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd");
TextBox3.Text = DateTime.Now.ToString("yyyy-MM-dd");

string sql = "select * from view_BTBWRK where 入库日期>= '" + DateTime.Now.AddDays(-1).Date + "' and 入库日期<= '" +DateTime.Now.Date+"'";
//string sql = "select * from view_BTBWRK ";
GridView1.DataSource = new view_BTBWRKdata().select(sql);
GridView1.DataBind();
}
Button2.Click += new EventHandler(Button2_Click);
Button3.Click += new EventHandler(Button3_Click);
}
//导出word
void Button3_Click(object sender, EventArgs e)
{
this.ExportControl(this.GridView1, "Word", "宏鑫源" + System.DateTime.Now);
}

//导出excel表
void Button2_Click(object sender, EventArgs e)
{
this.ExportControl(this.GridView1, "Excel", "宏鑫源" + System.DateTime.Now);
}


//导出方法
public void ExportControl(System.Web.UI.Control source, string DocumentType, string filename)
{
//设置Http的头信息,编码格式
if (DocumentType == "Excel")
{
//防止出现乱码,加上这行可以防止在只有一行数据时出现乱码Gridview数据导出到Excel/Word <wbr>防止出现乱码
HttpContext.Current.Response.Write("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>");
//Excel
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename + ".xls", System.Text.Encoding.UTF8));
HttpContext.Current.Response.ContentType = "application/ms-excel";
}
else if (DocumentType == "Word")
{
//防止出现乱码,加上这行可以防止在只有一行数据时出现乱码Gridview数据导出到Excel/Word <wbr>防止出现乱码
HttpContext.Current.Response.Write("<meta http-equiv=Content-Type content=text/html;charset=UTF-8>");
//Word
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename + ".doc", System.Text.Encoding.UTF8));
HttpContext.Current.Response.ContentType = "application/ms-word";
}

HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;

//关闭控件的视图状态
source.Page.EnableViewState = false;

//初始化HtmlWriter
System.IO.StringWriter writer = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(writer);
source.RenderControl(htmlWriter);

//输出
HttpContext.Current.Response.Write(writer.ToString());
HttpContext.Current.Response.End();
}

//重载VerifyRenderingInServerForm方法,否则运行的时候会出现如下错误提示:“类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内”

public override void VerifyRenderingInServerForm(Control control)
{
//override VerifyRenderingInServerForm.
}
}

 

转载于:https://www.cnblogs.com/weiyu11/p/7568743.html

相关文章:

  • 组合数据类型练习,英文词频统计实例
  • 在myeclipse中使用mybatis自动生成的pom配置
  • Python+selenium之unittest单元测试(3)关于测试用例执行的顺序
  • 学生与部门管理app-产品功能与界面的简单设计
  • HashMap分析及散列的冲突处理
  • liunx 部分
  • 怎么自定义修改CnBlogs博客园主题模板css样式
  • selenium之 chromedriver与chrome版本映射表(更新至v2.32)
  • 简易RPC框架-私有协议栈
  • apt软件管理
  • SPSS超详细操作:分层回归(hierarchical multiple regression)
  • position: absolute;绝对定位水平居中问题
  • Java 深复制和浅复制
  • 【highlight.js】页面代码高亮插件
  • mxnet的训练过程——从python到C++
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • 07.Android之多媒体问题
  • crontab执行失败的多种原因
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • java中的hashCode
  • SpriteKit 技巧之添加背景图片
  • Windows Containers 大冒险: 容器网络
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 浅谈sql中的in与not in,exists与not exists的区别
  • (2)MFC+openGL单文档框架glFrame
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (Python) SOAP Web Service (HTTP POST)
  • (二)hibernate配置管理
  • (二)WCF的Binding模型
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (七)Java对象在Hibernate持久化层的状态
  • (生成器)yield与(迭代器)generator
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (转)http协议
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .Net Core与存储过程(一)
  • .NET 命令行参数包含应用程序路径吗?
  • .Net转前端开发-启航篇,如何定制博客园主题
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现
  • [20170728]oracle保留字.txt
  • [Angular 基础] - 表单:响应式表单
  • [BZOJ3211]:花神游历各国(小清新线段树)
  • [BZOJ4010]菜肴制作
  • [C++]拼图游戏
  • [C++进阶篇]STL中vector的使用
  • [C++提高编程](三):STL初识
  • [git] windows系统安装git教程和配置
  • [Godot] 3D拾取
  • [J2ME]如何替换Google Map静态地图自带的Marker
  • [Jquery] 实现温度计动画效果