日期:2014-05-18 浏览次数:21190 次
public override void VerifyRenderingInServerForm(Control control)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
string style = @"<style> .text { mso-number-format:\@; } </style> ";
Response.ClearContent();
Response.Buffer = true;
string strFileName = "Myfile.xls";
Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8));
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
Response.ContentType = "application/excel";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
GridView1.RenderControl(htw);
// Style is added dynamically
Response.Write(style);
Response.Write(sw.ToString());
Response.End();
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[1].Attributes.Add("class", "text");
}
}
------解决方案--------------------
public bool ExportDataGridview(DataGridView gridView, bool isShowExcele)
{
if (gridView.Rows.Count == 0)
{
return false;
}
//建立Excel对象
Excel.Application excel = new Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = isShowExcele;
int rowCount = gridView.Rows.Count;
int colCount = gridView.Columns.Count;
object[,] dataArray = new object[rowCount, colCount];
for (int i = 0; i < gridView.ColumnCount; i++)
{
dataArray[0, i] = gridView.Columns[i].HeaderText;
}
for (int i = 0; i < rowCount-1; i++)
{
for (int j = 0; j < colCount; j++)
{
if (gridView[j, i].Value.GetType() == typeof(string))
{
dataArray[i+1, j] = "'" + gridView[j,i].Value.ToString();
}
else
{
dataArray[i+1, j] = gridView[j, i].Value.ToString();
}
}
}