girdview在服务器上生成excel不知道怎么第一行出现一个?号
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);
}
}