На моей странице asp.net необходимо загрузить несколько сеток в файл Excel.Проблема в том, что ширина должна быть ограничена, чтобы она помещалась на одной странице.Я могу заставить его работать нормально с одной сеткой, но не с несколькими сетками.С несколькими сетками он игнорирует поля «Wrap» и «Width» сетки.Сетки должны отображаться на одном листе
Готов вырвать мои волосы.пожалуйста помогите !!!!!!!!!!!!!!!!
private BoundField CreateBoundField(String headerText, String dataField, int width)
{
BoundField bf = new BoundField();
bf.HeaderText = headerText;
bf.DataField = dataField;
bf.ItemStyle.Wrap = true;
bf.ItemStyle.Width = new Unit(width);
bf.ItemStyle.HorizontalAlign = HorizontalAlign.Left;
bf.ItemStyle.VerticalAlign = VerticalAlign.Top;
return bf;
}
private GridView CreateSystem1HwGridviewForExcel()
{
GridView gvSystem1HwExcel = new GridView();
gvSystem1HwExcel.AutoGenerateColumns = false;
gvSystem1HwExcel.Columns.Add(CreateBoundField("Display Name", "DisplayName", 40));
gvSystem1HwExcel.Columns.Add(CreateBoundField("Item Name", "ItemName", 40));
gvSystem1HwExcel.Columns.Add(CreateBoundField("HW Name", "HWName", 40));
gvSystem1HwExcel.Columns.Add(CreateBoundField("Item Type", "ItemType", 40));
gvSystem1HwExcel.Columns.Add(CreateBoundField("Manufacturer", "Manufacturer", 40));
gvSystem1HwExcel.Columns.Add(CreateBoundField("Model", "Model", 40));
gvSystem1HwExcel.Columns.Add(CreateBoundField("Serial Number", "SerialNumber", 40));
gvSystem1HwExcel.Columns.Add(CreateBoundField("Location", "Location", 40));
gvSystem1HwExcel.Columns.Add(CreateBoundField("Grid", "Grid", 40));
gvSystem1HwExcel.Columns.Add(CreateBoundField("RU", "RU", 40));
gvSystem1HwExcel.Columns.Add(CreateBoundField("Hw Status", "HwStatus", 40));
gvSystem1HwExcel.Columns.Add(CreateBoundField("Power Status", "PowerStatus", 40));
gvSystem1HwExcel.DataSource = dtSystem1Hardware;
//gvSystem1HwExcel.HeaderStyle.CssClass = "gridHeader";
gvSystem1HwExcel.HeaderStyle.BackColor = System.Drawing.Color.Red;
gvSystem1HwExcel.HeaderStyle.ForeColor = System.Drawing.Color.White;
gvSystem1HwExcel.DataBind();
gvSystem1HwExcel.Style.Value = "word-break:break-all;word-wrap:break-word";
gvSystem1HwExcel.Width = new Unit(10);
return gvSystem1HwExcel;
}
private GridView CreateSystem2HwGridviewForExcel()
{
GridView gvSystem2HwExcel = new GridView();
gvSystem2HwExcel.AutoGenerateColumns = false;
gvSystem2HwExcel.Columns.Add(CreateBoundField("Name", "Name", 40));
gvSystem2HwExcel.Columns.Add(CreateBoundField("Manufacturer", "Manufacturer", 40));
gvSystem2HwExcel.Columns.Add(CreateBoundField("Model", "Model", 40));
gvSystem2HwExcel.Columns.Add(CreateBoundField("Serial Number", "SerialNumber", 40));
gvSystem2HwExcel.Columns.Add(CreateBoundField("Location", "Location", 40));
gvSystem2HwExcel.Columns.Add(CreateBoundField("Grid", "Grid", 40));
gvSystem2HwExcel.Columns.Add(CreateBoundField("HW Status", "HwStatus", 40));
gvSystem2HwExcel.Columns.Add(CreateBoundField("Power Status", "PowerStatus", 40));
gvSystem2HwExcel.DataSource = dtSystem2Hardware;
//gvSystem2HwExcel.HeaderStyle.CssClass = "gridHeader";
gvSystem2HwExcel.HeaderStyle.BackColor = System.Drawing.Color.Red;
gvSystem2HwExcel.HeaderStyle.ForeColor = System.Drawing.Color.White;
gvSystem2HwExcel.DataBind();
gvSystem2HwExcel.Style.Value = "word-break:break-all;word-wrap:break-word";
gvSystem2HwExcel.Width = new Unit(10);
return gvSystem2HwExcel;
}
protected void btnExcel_Click(object sender, EventArgs e)
{
LoadUserInput();
DisplayReport();
string fileName = "attachment;filename= ArchivalReportOn_" + DateTime.Now.ToString("dd-MM-yyyy-hh-mm-ss") + ".xls";
Response.Clear();
Response.AddHeader("content-disposition", fileName);
Response.Buffer = false; //sssssssssss
Response.Charset = "";
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "Application / vnd.xls";
System.IO.StringWriter stringWrite = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
var gvSystem1HwExcel= CreateSystem1HwGridviewForExcel();
gvSystem1HwExcel.RenderControl(htmlWrite);
var gvSystem2HwExcel = CreateSystem2HwGridviewForExcel();
gvSystem2HwExcel.RenderControl(htmlWrite);
Response.Write(stringWrite.ToString());
Response.End();
}
}