日期:2014-05-18 浏览次数:21033 次
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(); } } }