更改openxml中用于powerpoint generatron的表格样式文本

时间:2017-08-25 07:42:26

标签: c# asp.net openxml openxml-sdk

我使用openxml sdk生成此代码,该代码在PPT报告中生成表格。 这一行是表格风格的原因。

  tableStyleId.Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}";

风格是:

enter image description here

我需要改变风格和颜色,但我找不到任何东西。请帮忙。

private D.Table GenerateTable(int projectID, string reportType)
    {
        // Declare and instantiate table  
        D.Table table = new D.Table();

        // Specify the required table properties for the table 
        D.TableProperties tableProperties = new D.TableProperties() { FirstRow = true, BandRow = false };
        D.TableStyleId tableStyleId = new D.TableStyleId();
        tableStyleId.Text = "{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}";

        tableProperties.Append(tableStyleId);
        D.TableGrid tableGrid1 = new D.TableGrid();
        System.Data.DataTable dtData = new System.Data.DataTable();
        if (reportType == "projcharter")
        {
            //tblXBenefit
            dtData = GetBenefit(projectID);

            // Declare and instantiate tablegrid and colums 
            //D.TableGrid tableGrid1 = new D.TableGrid();
            D.GridColumn gridColumn1 = new D.GridColumn() { Width = 1848000L };
            D.GridColumn gridColumn2 = new D.GridColumn() { Width = 648000L };
            D.GridColumn gridColumn3 = new D.GridColumn() { Width = 648000L };
            D.GridColumn gridColumn4 = new D.GridColumn() { Width = 648000L };

            tableGrid1.Append(gridColumn1);
            tableGrid1.Append(gridColumn2);
            tableGrid1.Append(gridColumn3);
            tableGrid1.Append(gridColumn4);
        }
        table.Append(tableProperties);
        table.Append(tableGrid1);

        // Instantiate the table header row 
        D.TableRow tableHRow = new D.TableRow() { Height = 0L };
        for (int column = 0; column < dtData.Columns.Count; column++)
        {
            tableHRow.Append(CreateTextCell(dtData.Columns[column].ToString()));
        }
        table.Append(tableHRow);

        // Instantiate the table data row 
        for (int row = 0; row < dtData.Rows.Count; row++)
        {
            // Instantiate the table row 
            D.TableRow tableRow = new D.TableRow() { Height = 0L };
            for (int column = 0; column < dtData.Columns.Count; column++)
            {
                tableRow.Append(CreateTextCell(dtData.Rows[row][column].ToString()));
            }
            table.Append(tableRow);
        }
        return table;
    }

以前问题的链接: create dynamic table in powerpoint using openXML with c# and ASP.net

unable to generate second table in PPT report using openxml

How to ignore/solve "Repair" message from Powerpoint report generated by OpenXML with ASP.net

1 个答案:

答案 0 :(得分:0)

解决了它。 所以我做的是,我创建了一个新的ppt&gt;在其中手动插入具有所需设计的表格,然后将其另存为ppt xml(您将在另存为中看到此选项)。

打开xml搜索tablestyleid并在代码中使用该值。