Office js 应用边框格式
我正在尝试设置与新创建的工作表关联的一系列单元格的样式 我最近的两次(失败)尝试是:Office js 应用边框格式,office-js,Office Js,我正在尝试设置与新创建的工作表关联的一系列单元格的样式 我最近的两次(失败)尝试是: Excel.run(函数(上下文){ const newSheet=context.workbook.worksheets.add(“新工作表1”); newSheet.activate(); 常量值=[ [“第1行”、“第1行”、“第1行”], [“第2行”、“第2行”、“第2行”] ] newSheet.getRange(“A1”).getResizedRange(values.length-1,value
Excel.run(函数(上下文){
const newSheet=context.workbook.worksheets.add(“新工作表1”);
newSheet.activate();
常量值=[
[“第1行”、“第1行”、“第1行”],
[“第2行”、“第2行”、“第2行”]
]
newSheet.getRange(“A1”).getResizedRange(values.length-1,values[0]。length-1)。values=values;
context.sync().then(函数(){
newSheet.getRange(“A2”).getResizedRange(0,输出[0]。长度-1);
返回context.sync();
});
});
以及:
Excel.run(函数(上下文){
const newSheet=context.workbook.worksheets.add(“新工作表1”);
newSheet.activate();
常量值=[
[“第1行”、“第1行”、“第1行”],
[“第2行”、“第2行”、“第2行”]
]
newSheet.getRange(“A1”).getResizedRange(values.length-1,values[0]。length-1)。values=values;
context.sync().then(函数(){
//区别就在这里
newSheet.getRange(“A2”).getResizedRange(0,值[0]。长度-1)。foramt.borderTopStyle=“thin”;
返回context.sync();
});
});
设置一系列单元格样式的正确方法是什么 首先,对您发布的代码的总体结构/内容提出一些评论/建议:
- 一定要始终包含错误处理逻辑,否则事情可能会在您不知道出了什么问题的情况下悄无声息地失败
- 对于您的场景,只需要一个context.sync()(在末尾),因为在此之前所做的事情(即,将数据写入工作表并将格式应用于工作表)可以简单地排队并在一个context.sync()结尾处一起执行
- 您的代码包含一个输入错误(foramt而不是format),并且引用了一个对象上不存在的属性名(borderTopStyle)。如果您使用TypeScript而不是普通JavaScript,那么像这样的错误将自动为您标记
首先,对您发布的代码的总体结构/内容提出一些评论/建议:
- 一定要始终包含错误处理逻辑,否则事情可能会在您不知道出了什么问题的情况下悄无声息地失败
- 对于您的场景,只需要一个context.sync()(在末尾),因为在此之前所做的事情(即,将数据写入工作表并将格式应用于工作表)可以简单地排队并在一个context.sync()结尾处一起执行
- 您的代码包含一个输入错误(foramt而不是format),并且引用了一个对象上不存在的属性名(borderTopStyle)。如果您使用TypeScript而不是普通JavaScript,那么像这样的错误将自动为您标记
真酷,成功了!另外,我怎样才能把两个单元格合并在一起?你能不能在这里写一篇关于堆栈溢出的新文章,回答关于合并单元格的新问题?通过为每个主题/问题创建一个单独的帖子,你可以让知道答案的人更有可能看到它(并做出回应),也让其他人更有可能在未来从中受益(从该问题/答案)。谢谢真酷,成功了!另外,我怎样才能把两个单元格合并在一起?你能不能在这里写一篇关于堆栈溢出的新文章,回答关于合并单元格的新问题?通过为每个主题/问题创建一个单独的帖子,你可以让知道答案的人更有可能看到它(并做出回应),也让其他人更有可能在未来从中受益(从该问题/答案)。谢谢
Excel.run(function (context) {
// create new sheet, add 2 rows of data
const newSheet = context.workbook.worksheets.add("New sheet 1");
newSheet.activate();
const values = [
["Row 1", "Row 1", "Row 1"],
["Row 2", "Row 2", "Row 2"]
]
newSheet.getRange("A1").getResizedRange(values.length - 1, values[0].length - 1).values = values;
// set top border for the second row of data
newSheet.getRange("A2").getResizedRange(0, values[0].length - 1).format.borders.getItem('EdgeTop').style = 'Continuous';
return context.sync();
})
.catch(function (error) {
console.log('error: ' + error);
if (error instanceof OfficeExtension.Error) {
console.log('Debug info: ' + JSON.stringify(error.debugInfo));
}
});
}