Tables

link - learn.microsoft.com/en-us/office/dev/add-ins/excel/excel-add-ins-tables


const body = context.document.body; 
const wrdTbl = body.insertTable(7, 4, Word.RangeLocation.start)
const wrdRows = wrdTbl.rows

const row_1 = wrdRows.getFirst()
row_1.shadingColor = '#003366'

row_1.preferredHeight = 40
row_1.font.name = "Roboto Medium"
row_1.font.size = 12
row_1.horizontalAlignment = "Centered"
row_1.verticalAlignment = "Center"

row_1.values = [['Name','Age','Sales','Cost']]
wrdRows.load('items')
await context.sync();

for (var i = 1; i < wrdRows.items.length; i++){

  wrdRows.items[i].values = [['Alex','70','40000','60000']]
  wrdRows.items[i].font.color = '#666666'
  wrdRows.items[i].verticalAlignment = Word.VerticalAlignment.center
  wrdRows.items[i].preferredHeight = 35
  wrdRows.items[i].cells.load('items');
  await context.sync();

  wrdRows.items[i].cells.items[1].horizontalAlignment = 'Right'
  wrdRows.items[i].cells.items[2].horizontalAlignment = 'Right'
  wrdRows.items[i].cells.items[3].horizontalAlignment = Word.Alignment.justified
  wrdRows.items[i].cells.items[3].setCellPadding(Word.CellPaddingLocation.top, 10)
}

const tblBorders = wrdTbl.getBorder(Word.BorderLocation.all)
tblBorders.color = "#000044"
tblBorders.width = 1
tblBorders.type = Word.BorderType.wave
const tblBordersIV = wrdTbl.getBorder(Word.BorderLocation.insideVertical)
tblBordersIV.type = "None"

const tblBordersOT = wrdTbl.getBorder(Word.BorderLocation.outside)
tblBordersOT.type = "None"

wrdTbl.load('headerRowCount');
wrdTbl.styleBuiltIn = Word.Style.gridTable6Colorful_Accent1
wrdTbl.styleLastColumn = true;

await context.sync();


Create and access a table

$("#run").click(() => tryCatch(getTableCell)); 
$("#setup").click(() => tryCatch(insertTable));

async function getTableCell() {
  await Word.run(async (context) => {
    let firstCell = context.document.body.tables.getFirst().getCell(0, 0).body;
    firstCell.load("text");

    await context.sync();
    console.log("First cell text is " + firstCell.text);
  });
}

async function insertTable() {
  await Word.run(async (context) => {
    let data = [["Tokyo", "Beijing", "Seattle"], ["Apple", "Orange", "Pineapple"]];
    let table = context.document.body.insertTable(2, 3, "Start", data);
    table.styleBuiltIn = Word.Style.gridTable5Dark_Accent2;
    table.styleFirstColumn = false;

    await context.sync();
  });
}

async function tryCatch(callback) {
  try {
    await callback();
  } catch (error) {
    console.error(error);
  }
}

??

function insertTable() { 
    Word.run(function (context) {
        var range = context.document.getSelection();
        var cc = range.insertContentControl();
        cc.title = "My Table";
        var values = [["Apple", "red", "round"], ["Banana", "yellow", "long"], ["Pear", "green", "oblong"]];
        context.load(cc);
        return context.sync().then(function () {
                var table = cc.insertTable(3, 3, 'Start', values);
            })
            .then(context.sync);
    })
    .catch(function (error) {
        console.log('Error: ' + JSON.stringify(error));
        if (error instanceof OfficeExtension.Error) {
            console.log('Debug info: ' + JSON.stringify(error.debugInfo));
        }
    });
}

      let myTable = new Office.TableData(); 
      myTable.headers = ["First Name", "Last Name", "Grade"];
      myTable.rows = [["Brittney", "Booker", "A"], ["Sanjit", "Pandit", "C"], ["Naomi", "Peacock", "B"]];
      Office.context.document.setSelectedDataAsync(myTable, { coercionType: Office.CoercionType.Table });

Word.run(async function (ctx) { 

      let myTable = new Office.TableData();
      myTable.headers = ["First Name", "Last Name", "Grade"];
      myTable.rows = [["Brittney", "Booker", "A"], ["Sanjit", "Pandit", "C"], ["Naomi", "Peacock", "B"]];
      Office.context.document.setSelectedDataAsync(myTable, { coercionType: Office.CoercionType.Table });

      await ctx.sync();

      event.completed();

    }).catch((error) => {
      BETDebug.error_Handler(c_MODULE, "action_Tables_InsertDataTable", error);
    })

link - contrivedexample.com/2016/01/01/3-ways-to-create-a-ms-word-table-in-office-js-add-in/



© 2022 Better Solutions Limited. All Rights Reserved. © 2022 Better Solutions Limited TopPrevNext