girdview在服务器上生成excel不知道怎么第一行出现一个?号

wangshenkai 2008-01-23 09:51:47
girdview在服务器上生成excel不知道怎么第一行怎么出现一个?号 求高手怎样能去掉那个?号


<%@ Page Language="C#" AutoEventWireup="true" EnableEventValidation="false" CodeFile="GridViewToExcelFile.aspx.cs" Inherits="_Default" %>

<!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>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvFoods" runat="server" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None" EnableViewState="true">
<FooterStyle BackColor="Tan" />
<SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
<PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" />
<HeaderStyle BackColor="Tan" Font-Bold="True" />
<AlternatingRowStyle BackColor="PaleGoldenrod" />
</asp:GridView>
<br />
<asp:Button ID="Button1" runat="server" BackColor="#C0C0FF" OnClick="Button1_Click"
Text="Create Excel" Width="137px" />
</div>
</form>
</body>
</html>




using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Text;
using System.Collections;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
CreateStructure();
this.gvFoods.DataSource = this.CreateData();
this.gvFoods.DataBind();
}
}
private DataTable CreateStructure()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("CategoryID", typeof(int)));
dt.Columns.Add(new DataColumn("CategoryName", typeof(string)));
dt.Columns.Add(new DataColumn("Price", typeof(int)));
return dt;
}
public DataSet CreateData()
{
DataSet ds = new DataSet();
DataTable dt = this.CreateStructure();

DataRow drNew = dt.NewRow();
drNew = dt.NewRow();
drNew["CategoryID"] = 1;
drNew["CategoryName"] = "Apple";
drNew["Price"] = 2;
dt.Rows.Add(drNew);

drNew = dt.NewRow();
drNew["CategoryID"] = 2;
drNew["CategoryName"] = "Banana";
drNew["Price"] = 3;
dt.Rows.Add(drNew);

drNew = dt.NewRow();
drNew["CategoryID"] = 3;
drNew["CategoryName"] = "Orange";
drNew["Price"] = 1;
dt.Rows.Add(drNew);

drNew = dt.NewRow();
drNew["CategoryID"] = 4;
drNew["CategoryName"] = "Radish";
drNew["Price"] = 2;
dt.Rows.Add(drNew);

drNew = dt.NewRow();
drNew["CategoryID"] = 5;
drNew["CategoryName"] = "Pen";
drNew["Price"] = 3;
dt.Rows.Add(drNew);

drNew = dt.NewRow();
drNew["CategoryID"] = 6;
drNew["CategoryName"] = "Pencil";
drNew["Price"] = 7;
dt.Rows.Add(drNew);

drNew = dt.NewRow();
drNew["CategoryID"] = 7;
drNew["CategoryName"] = "Ruler";
drNew["Price"] = 3;
dt.Rows.Add(drNew);

drNew = dt.NewRow();
drNew["CategoryID"] = 8;
drNew["CategoryName"] = "Eraser";
drNew["Price"] = 5;
dt.Rows.Add(drNew);

ds.Tables.Add( dt );
return ds;
}
protected void Button1_Click(object sender, EventArgs e)
{
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
this.gvFoods.RenderControl(htw);
string strHtml = sw.ToString().Trim();

string ExcelFileName = "FoodList.xls";
string FilePhysicialPathName = Request.PhysicalApplicationPath;

//生成的Excel文件名
string objectExcelFileName = Path.Combine(FilePhysicialPathName, ExcelFileName);

if( File.Exists( objectExcelFileName ))
{
File.Delete(objectExcelFileName);
}
FileStream fs = new FileStream(objectExcelFileName, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs, Encoding.GetEncoding("GB18030"));
bw.Write(strHtml);
bw.Close();
fs.Close();

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


...全文
127 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaozhengzzlt 2008-10-03
  • 打赏
  • 举报
回复
还是不dong~~~·
kbryant 2008-02-25
  • 打赏
  • 举报
回复
up
mapserver 2008-01-25
  • 打赏
  • 举报
回复


//也可以通过自己遍历DataSet,来创建一个Html table的方式,

StringBuilder sb = new StringBuilder();
sb.Append(@"<TABLE>");
//添加表头
foreach (System.Data.DataRow row in DataSet.Tables[0].Rows)
{
sb.Append(@"<TR>");
foreach (System.Data.DataColumn column in DataSet.Tables[0].Columns)
{
sb.Append(@"<TD");
sb.Append(row[column.ColumnName]);
sb.Append(@"</TD");
}
sb.Append(@"</TR>");
}
sb.Append(@"<TABLE>");

Response.Clear();
Response.Buffer = true;
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", "test"));
Response.ContentType = "application/ms-excel";
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.Write(sb.ToString());
Response.Flush();
Response.End();

mapserver 2008-01-25
  • 打赏
  • 举报
回复
给你个孟子的例子:
http://blog.csdn.net/net_lover/archive/2006/09/13/1217998.aspx
wenkekenihao 2008-01-25
  • 打赏
  • 举报
回复
编码问题啊,设为gb2312 试一试
wdzr_826 2008-01-25
  • 打赏
  • 举报
回复
有可能是编码问题。纯猜测
zhaoxu86141940 2008-01-24
  • 打赏
  • 举报
回复
gridview里的第一行是不是列名啊?数据类型不对吧?!在gridview的行绑定函数(好像是rowbinding()吧?)里作下处理吧?!
zhj92lxs 2008-01-24
  • 打赏
  • 举报
回复
顶一下
wangshenkai 2008-01-24
  • 打赏
  • 举报
回复
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。等了一天了也没人回





《〈〈〈〈〈〈
xierfly 2008-01-24
  • 打赏
  • 举报
回复
类型“GridView”的控件“gvFoods”必须放在具有 runat=server 的窗体标记内。
===============
在我这出现这个错误。
调试一下,在this.gvFoods.RenderControl(htw); 出现错误。
kbryant 2008-01-23
  • 打赏
  • 举报
回复
友情支持
ezhuo 2008-01-23
  • 打赏
  • 举报
回复
关注,学习了...

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧