科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件在ASP.NET中将数据直接输出成Excel内容

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

ExcelExport.aspx      < %@ Page Language="vb" AutoEventWireup="false" Codebehind="ExcelExport.aspx.vb"

作者:中国IT实验室 来源:中国IT实验室 2007年9月1日

关键字: 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

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章