Ограничить ширину в файле Excel, созданном asp.net с несколькими GridViews - PullRequest
1 голос
/ 16 февраля 2012

На моей странице 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();
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...