Response.Clear();
Response.Buffer = false;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=test.xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); Response.ContentType = "application/ms-excel"; this.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.GridView1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();我用输出流的方式导出excel数据,dataview设置为分页方式,但以上代码只能导出当前面上的数据,请问怎么调整可以导出全部的数据?
直接使用dataview的数据源~!样式什么的可以想其他的办法啊!?
app.Visible = true;
Workbook wBook = (Workbook)app.Workbooks.Add(true);
Worksheet wSheet = wBook.Worksheets[1] as Worksheet; for (int k = 0; k <= colName((System.Data.DataTable)this.dataGridView1.DataSource).Length - 1; k++)
{
wSheet.Cells[1, k + 1] = colName((System.Data.DataTable)this.dataGridView1.DataSource)[k].ToString();
}
if (((System.Data.DataTable)this.dataGridView1.DataSource).Rows.Count > 0)
{
int row, col;
row = ((System.Data.DataTable)this.dataGridView1.DataSource).Rows.Count;
col = ((System.Data.DataTable)this.dataGridView1.DataSource).Columns.Count; for (int i = 0; i <= row - 1; i++)
{
for (int j = 0; j <= col - 1; j++)
{
wSheet.Cells[i + 2, j + 1] = ((System.Data.DataTable)this.dataGridView1.DataSource).Rows[i][j].ToString();
}
}
}
wSheet.Columns.AutoFit();
wSheet.Columns.Font.Name = "Arial";
wSheet.Columns.Font.Size = 10;
wSheet.Columns.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;直接这样导出把。。
for (int k = 0; k <= colName((System.Data.DataTable)this.dataGridView1.DataSource).Length - 1; k++)
{
wSheet.Cells[1, k + 1] = colName((System.Data.DataTable)this.dataGridView1.DataSource)[k].ToString();
}
这句话可以54 我只不过是制定EXCEL的表头,这个方法如下: private string[] colName(System.Data.DataTable dt) //获取DataGridView列名
{
string colName = "";
for (int i = 0; i <= dt.Columns.Count - 1; i++)
{
colName = dt.Columns[i].ColumnName.ToString() + "|" + colName;
}
colName = colName.Substring(0, colName.LastIndexOf("|"));
string[] sColName = colName.Split(new char[] { '|' });
return sColName ;
}
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("content-disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("表", System.Text.Encoding.UTF8) + ".xls");
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Charset = "";
this.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
DataGrid dg1 = new DataGrid();
dg1.DataSource = DTSpart;
dg1.DataBind();
dg1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();