我的问题是:
1)DataGrid里显示的报表正常我把DataGrid里的内容导到excel里的时候,都是乱码
2)我是用button来触发的,但是我按下去后DataGrid1里的内容就没有了DataGrid1.DataSource 一直 是null,我该如何保存DataGrid1里的内容。 代码如下:private void Button1_Click(object sender, System.EventArgs e)
{
if (DataGrid1 == null)
throw new ArgumentNullException("DataGrid1", "参数不能为空值!"); if (DataGrid1.DataSource == null)
throw new ArgumentNullException("DataGrid1", "DataGrid的DataSource属性(数据源)不能为空!"); Response.Clear();
Response.Charset="GB2312";// GB2312
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=Default.xls");
StringWriter stringWrite = new StringWriter();
HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
DataGrid _grid = new DataGrid();
_grid.AutoGenerateColumns = DataGrid1.AutoGenerateColumns;
if (!_grid.AutoGenerateColumns)
{
for (int i = 2, j = 0; i < DataGrid1.Columns.Count; i++)
{
if (DataGrid1.Columns[i].Visible)
{
_grid.Columns.Add(DataGrid1.Columns[i]);
_grid.Columns[j].HeaderText = DataGrid1.Columns[i].HeaderText;
j++;
}
}
} _grid.DataSource = DataGrid1.DataSource;
_grid.DataBind(); _grid.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
}
1)DataGrid里显示的报表正常我把DataGrid里的内容导到excel里的时候,都是乱码
2)我是用button来触发的,但是我按下去后DataGrid1里的内容就没有了DataGrid1.DataSource 一直 是null,我该如何保存DataGrid1里的内容。 代码如下:private void Button1_Click(object sender, System.EventArgs e)
{
if (DataGrid1 == null)
throw new ArgumentNullException("DataGrid1", "参数不能为空值!"); if (DataGrid1.DataSource == null)
throw new ArgumentNullException("DataGrid1", "DataGrid的DataSource属性(数据源)不能为空!"); Response.Clear();
Response.Charset="GB2312";// GB2312
Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=Default.xls");
StringWriter stringWrite = new StringWriter();
HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
DataGrid _grid = new DataGrid();
_grid.AutoGenerateColumns = DataGrid1.AutoGenerateColumns;
if (!_grid.AutoGenerateColumns)
{
for (int i = 2, j = 0; i < DataGrid1.Columns.Count; i++)
{
if (DataGrid1.Columns[i].Visible)
{
_grid.Columns.Add(DataGrid1.Columns[i]);
_grid.Columns[j].HeaderText = DataGrid1.Columns[i].HeaderText;
j++;
}
}
} _grid.DataSource = DataGrid1.DataSource;
_grid.DataBind(); _grid.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货