http://www.eggheadcafe.com/articles/20021012.asp
解决方案 »
- C#导入数据库问题,做过的过来看看,谢谢了.
- lovebaby js一般escape 可以解决问题,为何还要encodeURI
- 如何根据数据库查询结果,自动勾选CheckBoxList的复选框呢?
- 高手指点一下新手
- Audit LogOut的问题,求救!
- https下 ie 无法下载文件
- 菜鸟问题,关于DLL文件。
- 那位知那里有纯正的的xp下载阿
- Gridview问题
- asp.net mvc Controller如何得到历遍生成的view值?
- vs2003中“复制项目”的问题:为什么有的文件没有复制?比如*.reg,还有我自定格式的文件,这些都要用呀!
- 斑竹,我发现了倒粪的!!!!兄弟们一起进来鄙视啊!!!!
Imports System.Text
Imports System.Data.SqlClient
____________________________________________________________________
Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)
Response.ContentType = "application/ms-excel"
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312")
Response.AppendHeader("content-disposition", "inline;filename=test.xls")
Dim conn As New SqlConnection("Server=localhost;user id=sa;password=xxx;database=Northwind;")
Dim ds As New DataSet
Dim da As New SqlDataAdapter("Select * from Categories", conn)
da.Fill(ds, "Categories")
DataGrid1.DataSource = ds.Tables("Categories")
DataGrid1.DataBind()
DataGrid1.RenderControl(writer)
End Sub
——————————————————————————————————————
另外用一页链接到加有以上代码得页面即可
Html代码:
<%@ Page language="c#" Codebehind="ExcelToDataGrid.aspx.cs" AutoEventWireup="false" Inherits="StudyDotNet.DataGrid.Excel.ExcelToDataGrid" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>风云冰雨工作室</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<!--************************问题描述区************************-->
<table width="100%" border="0">
<tr>
<td align="center" style="COLOR: red"><b>把Excel文件中的数据读入到DataGrid中</b></td>
</tr>
<tr>
<td><b>出处:</b><A href="http://dotnet.aspx.cc/ShowDetail.aspx?id=C673E2CD-3F1E-4919-8CE0-D69B894A0599">http://dotnet.aspx.cc/ShowDetail.aspx?id=C673E2CD-3F1E-4919-8CE0-D69B894A0599</A></td>
</tr>
<tr>
<td><b>描述:</b>用OLE DB Provider 来访问Excel文件,然后返回DataSet</td>
</tr>
</table>
<!--************************问题描述区(完)************************-->
<hr>
<form id="Form1" method="post" runat="server">
<asp:datagrid id="mygrid" runat="server" AutoGenerateColumns="false" width="100%">
<Columns>
<asp:BoundColumn HeaderText="姓名" ReadOnly="true" DataField="姓名" />
<asp:BoundColumn HeaderText="性别" ReadOnly="true" DataField="性别" />
<asp:BoundColumn HeaderText="Email" ReadOnly="true" DataField="地址" />
</Columns>
</asp:datagrid>
</form>
</body>
</HTML>
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;namespace StudyDotNet.DataGrid.Excel
{
/// <summary>
/// ExcelToDataGrid 的摘要说明。
/// </summary>
public class ExcelToDataGrid : System.Web.UI.Page
{
#region 控件申明
protected System.Web.UI.WebControls.DataGrid mygrid;
#endregion #region Page_Load
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!IsPostBack)
{
DataGridBind();
}
}
#endregion #region 数据绑定
private void DataGridBind()
{
mygrid.DataSource = CreateDataSource();
mygrid.DataBind();
} private DataSet CreateDataSource()
{
string strConn;
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + MapPathSecure(TemplateSourceDirectory) + "\\xls\\contacts.xls;"+
"Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [ContactList$]", strConn);
DataSet myDataSet = new DataSet();
myCommand.Fill(myDataSet);
return myDataSet;
}
#endregion #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
}
http://www.21tx.com/school/dotnet/wz/000147219960011.htm将DataGrid输出到Excel文件
http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=BF0A54F9-C7C7-4200-BD9A-802AC1F5DE50在ASP.NET中将数据直接输出成Excel内容
http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=EC5E84EC-68F9-4CD7-9E11-6F5C92027F0B
'方 法 名: fBindData()
'作 用: 用来绑定数据集
'编写日期: 2004-04-13
'-----------------------------------------------------------------------------
'没有返回类型
'***************************************************************************** Public Function fBindData(ByVal ldataset1 As DataSet)
'Dim a As DataGrid
'a = New DataGrid Me.DataGrid1.Items(0).Cells(0).FindControl("")
DataGrid1.DataSource = ldataset1
DataGrid1.DataBind()
Response.ContentType = "application/vnd.ms-excel"
Response.Charset = "" ' 从Content-Type header中去除charset设置
' 关闭 ViewState
Me.EnableViewState = False
Dim tw As New System.IO.StringWriter
Dim hw As New System.Web.UI.HtmlTextWriter(tw)
DataGrid1.RenderControl(hw) ' 获取control的HTML
Response.Write(tw.ToString()) ' 把HTML写回浏览器
Response.End()
End Function如果你是从dataGrid导出到Excel的话上面的方法可以实现,,我自己测试过。