1
헤더 아래에 여러 행의 데이터를 추가하려고합니다. 이것은 새로운 테이블에있을 것입니다. 이 모든 것은 동일한 이벤트 핸들러에서 실행됩니다.추가 기능을 통해 한 번에 여러 행을 Excel에 추가하는 방법은 무엇입니까?
현재 테이블 은이되며 헤더와 헤더 값도 마찬가지입니다. 그러나 데이터 행은로드되지 않습니다.
Error: InvalidArgument: The argument is invalid or missing or has an incorrect format.
Debug info: {
"code":"InvalidArgument",
"message":"The argument is invalid or missing or has an incorrect format.",
"errorLocation":"TableRowCollection.add"
}
나는 tableRowCollection에 대해 the JS API docs를 읽고있다 :이이 오류가 발생합니다
function createTable() {
Excel.run(function (context) {
const currentWorksheet = context.workbook.worksheets.getActiveWorksheet();
const expensesTable = currentWorksheet.tables.add("A1:D1", true /*hasHeaders*/);
expensesTable.name = "ExpensesTable";
expensesTable.getHeaderRowRange().values =
[["Date", "Merchant", "Category", "Amount"]];
expensesTable.rows.add(null /*add at the end*/, [
["1/1/2017", "The Phone Company", "Communications", "120"],
["1/2/2017", "Northwind Electric Cars", "Transportation", "142.33"],
["1/5/2017", "Best For You Organics Company", "Groceries", "27.9"],
["1/10/2017", "Coho Vineyard", "Restaurant", "33"],
["1/11/2017", "Bellows College", "Education", "350.1"],
["1/15/2017", "Trey Research", "Other", "135"],
["1/15/2017", "Best For You Organics Company", "Groceries", "97.88"]
]);
expensesTable.columns.getItemAt(3).getRange().numberFormat = [['€#,##0.00']];
expensesTable.getRange().format.autofitColumns();
expensesTable.getRange().format.autofitRows();
return context.sync();
})
.catch(function (error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
}
: 여기
내가 헤더 행을 테이블을 작성하고 채울 수있어 코드의 Object 및 add 메서드를 사용하지만 여기에서 내가 뭘 잘못하고 있는지 알지 못합니다. 어떤 도움이든 좋을 것입니다!
먼저 null 대신 -1을 시도하고 단일 행을 추가합니다. (디버깅 단계.) –
좋은 제안, 감사 앤디. 나는 그것을 시도하고 한 번에 한 행 (null과 -1 둘 다) 삽입에 대한 작동하지 않습니다. 아마도 내가 어떻게해야 더 많은 양의 행/데이터를 입력 할 수 있을까? –
저는 이것을 전혀 복제 할 수 없습니다. 귀하의 코드는 나를 위해 잘 실행됩니다. 사용중인 Excel 버전을 제공 할 수 있습니까? 또한 'office.js'를 참조하는 방법을 추가 할 수 있습니까? –