为 powerpoint 生成器更改 openxml 中的 table 样式文本

change table style text in openxml for powerpoint generatron

我有这段代码使用 openxml sdk,它在 PPT 报告中生成 table。 此行是 table 样式的原因。

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

风格是:

我需要更改样式和颜色,但找不到相关内容。请帮忙。

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;
    }

之前问题的链接:

解决了。 所以我所做的是,我创建了一个新的 ppt > inserted tables with required design in it in it and then save it as ppt xml(你会在另存为中看到这个选项)。

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