广

ASP.NET

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    在ASP.NET中将数据直接输出成Excel格式

    2018-04-08 09:04:37 次阅读 稿源:互联网
    广告

      本文实现了将数据库中的数据直接输出到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 ExcelExportInherits System.Web.UI.PageProtected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid#Region " Web 窗体设计器生成的代码 "'该调用是 Web 窗体设计器所必需的。<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()End SubPrivate Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) _Handles MyBase.Init 'CODEGEN: 此方法调用是 Web 窗体设计器所必需的 '不要使用代码编辑器修改它。 InitializeComponent()End Sub#End RegionPrivate 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 IfEnd SubEnd Class

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告