首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 笔记本电脑 | 北大青鸟 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ASP.NET >> 正文

在ASP.NET中将数据直接输出成Excel内容


  ExcelExport.aspx
  
  < %@ Page Language="vb" AutoEventWireup="false" Codebehind="ExcelExport.aspx.vb"
  Inherits="aspxWeb.mengxianhui.com.ExcelExport"%>
  < !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  < HTML>
  < HEAD>
  < title>ExcelExport< /title>
  < meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
  < meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
  < meta name="vs_defaultClientScript" content="JavaScript">
  < meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
  < /HEAD>
  < body MS_POSITIONING="GridLayout">
  < form id="Form1" method="post" runat="server">
  < asp:datagrid id="DataGrid1" runat="server" CellPadding="4" BackColor="White"
  BorderColor="#CC9966" BorderWidth="1px" BorderStyle="None" Width="100%" Height="100%"
  Font-Size="9pt" Font-Names="宋体">
  < SelectedItemStyle Font-Bold="True" ForeColor="#663399" BackColor="#FFCC66">< /SelectedItemStyle>
  < AlternatingItemStyle BackColor="#FFCC99">< /AlternatingItemStyle>
  < ItemStyle BorderWidth="2px" ForeColor="#330099" BorderStyle="Solid"
  BorderColor="Black" BackColor="White">< /ItemStyle>
  < HeaderStyle Font-Bold="True" HorizontalAlign="Center" BorderWidth="2px"
  ForeColor="#FFFFCC" BorderStyle="Solid" BorderColor="Black" BackColor="#990000">< /HeaderStyle>
  < /asp:datagrid>
  < /form>
  < /body>
  < /HTML>
  
  ExcelExport.aspx.vb
  
  Public Class ExcelExport
  Inherits System.Web.UI.Page
  Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
  
  #Region " Web 窗体设计器生成的代码 "
  
  '该调用是 Web 窗体设计器所必需的。
  < System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
  
  End Sub
  
  Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) _
  Handles MyBase.Init
  'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
  '不要使用代码编辑器修改它。
  InitializeComponent()
  End Sub
  
  #End Region
  
  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
  Handles MyBase.Load
  '在此处放置初始化页的用户代码
  ' 定义是否是 SQL Server 数据库,这里为False
  Dim blnIsSQLServer As System.Boolean = False
  Dim strSQL As String
  Dim objDataset As New DataSet()
  Dim objConn As Object
  Dim strCnn As String
  
  If blnIsSQLServer Then
  strCnn = "User ID=sa;Initial Catalog=Northwind;Data Source=.\NetSDK;"
  objConn = New System.Data.SqlClient.SqlConnection(strCnn)
  objConn.Open()
  Dim objAdapter As New System.Data.SqlClient.SqlDataAdapter()
  strSQL = "Select * from customers where country='USA'"
  objAdapter.SelectCommand = New System.Data.SqlClient.SqlCommand(strSQL, objConn)
  objAdapter.Fill(objDataset)
  Else
  strCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Test.mdb")
  objConn = New System.Data.OleDb.OleDbConnection(strCnn)
  objConn.Open()
  Dim objAdapter As New System.Data.OleDb.OleDbDataAdapter()
  strSQL = "Select Top 10 Title From Document"
  objAdapter.SelectCommand = New System.Data.OleDb.OleDbCommand(strSQL, objConn)
  objAdapter.Fill(objDataset)
  End If
  Dim oView As New DataView(objDataset.Tables(0))
  DataGrid1.DataSource = oView
  DataGrid1.DataBind()
  objConn.Close()
  objConn.Dispose()
  objConn = Nothing
  If Request.QueryString("bExcel") = "1" Then
  Response.ContentType = "application/vnd.ms-excel"
  ' 从Content-Type header中去除charset设置
  Response.Charset = ""
  
  ' 关闭 ViewState
  Me.EnableViewState = False
  Dim tw As New System.IO.StringWriter()
  Dim hw As New System.Web.UI.HtmlTextWriter(tw)
  ' 获取control的HTML
  DataGrid1.RenderControl(hw)
  ' 把HTML写回浏览器
  Response.Write(tw.ToString())
  Response.End()
  End If
  End Sub
  End Class
【责编:admin】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·开源软件测试工具学习专题
 ·JSP Web开发 入门基础到高手进阶教程…
 ·JavaFX—是Java桌面的新希望么?
 ·安全至上 .NET开发安全策略…
 ·测试用例设计之道-测试用例学习专题
 ·面向Java开发人员的Scala指南
 ·Java设计模式之实例详解
 ·Oracle数据库11g 面向DBA和开发人员的重要新特性…
 ·桌面应用软件编程 J2SE技术详解…
 ·我“炫”我精彩-------WPF开发教程
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航