簡體   English   中英

Office 腳本 - 如何使用表中的列名 select 特定列並刪除其他列?

[英]Office Scripts - How to select specific columns using column name from a table and delete other columns?

我想從 Excel 在線工作簿中的表中按列名稱刪除 select 特定列,並刪除其他不需要的列。 我想使用Office 腳本來執行此操作。

在此處輸入圖像描述

分類號 Position 薪水 獎金 增量_百分比
CAT01 會計 100K 25K 5%
CAT02 Controller 80K 20K 7%
CAT03 稅務分析師 70K 15K 6%
CAT04 導演 200K 35K 8%

如上表所示,我只想使用 Office 腳本按列名選擇Categ_NoPositionBonus列,並刪除其他兩列(Salary 和 Increment_Percentage)。

我是 Office 腳本的新手,非常感謝任何幫助!

這是基本的,需要更多的工作,但展示了你的要求......

function main(workbook: ExcelScript.Workbook) {
  let myTable = workbook.getTable("MyTable");
  let columnsToKeep: string[] = ["Categ_No", "Position", "Bonus"];

  myTable.getColumns().forEach(column => {
    let columnName = column.getName();

    if (!columnsToKeep.includes(columnName)) {
      column.delete();
    }
  });
}

您可以嘗試以下代碼:

function main(workbook: ExcelScript.Workbook) {
  let tbl = workbook.getTable("Table1")
  let headersArr = tbl.getHeaderRowRange().getValues()[0] as string[]
  let finalColumns: string[] = ["Categ_No", "Position", "Bonus"];
  headersArr = headersArr.filter(e => !finalColumns.includes(e))
  headersArr.forEach(e => {
    tbl.getColumn(e).delete()
  })
}

它應該產生與其他答案相同的結果。 它是如何做到的有點不同。 此代碼從 header 行范圍獲取值。 然后它會根據您不想保留的列過濾標題數組。 然后它遍歷它(此時將是您不想要的列)並刪除具有這些列名稱的列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM