我使用office api创建了一个表,我不希望它有任何风格。默认情况下,当使用office api创建表时,我看到应用了默认表格样式,我只想要普通数据。
解决方法 我尝试用一些颜色来改变边框颜色和范围填充区域,看起来它没有任何风格。
我有两个问题要问。 1.使用office.js apis创建时如何删除excel表上的默认样式 2.如果第一个不可能,那么如何不给范围边界,
我尝试使用细线边框,如https://github.com/OfficeDev/office-js-docs/blob/master/reference/excel/rangeborder.md
中所述但看起来Hairline不工作,Hairline和Thin给出相同的边框
Excel.run(function (ctx) {
var sheetName = "Sheet1";
var rangeAddress = "A1:F8";
var range = ctx.workbook.worksheets.getItem(sheetName).getRange(rangeAddress);
range.format.borders.getItem('InsideHorizontal').weight = "Hairline";
range.format.borders.getItem('InsideVertical').weight = "Hairline";
range.format.borders.getItem('EdgeBottom').weight = "Hairline";
range.format.borders.getItem('EdgeLeft').weight = "Hairline";
range.format.borders.getItem('EdgeRight').weight = "Hairline";
range.format.borders.getItem('EdgeTop').weight = "Hairline";
//range.format.borders.getItem('InsideHorizontal').style = "No Border";
//range.format.borders.getItem('InsideVertical').style = 'No Border';
//range.format.borders.getItem('EdgeBottom').style = 'No Border';
//range.format.borders.getItem('EdgeLeft').style = 'No Border';
//range.format.borders.getItem('EdgeRight').style = 'No Border';
//range.format.borders.getItem('EdgeTop').style = 'No Border';
range.format.borders.getItem('InsideHorizontal').color = 'Gray';
range.format.borders.getItem('InsideVertical').color = 'Gray';
range.format.borders.getItem('EdgeBottom').color = 'Gray';
range.format.borders.getItem('EdgeLeft').color = 'Gray';
range.format.borders.getItem('EdgeRight').color = 'Gray';
range.format.borders.getItem('EdgeTop').color = 'Gray'; return ctx.sync();
}).catch(function(error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
我的代码与此类似。
请指导我如何从表中删除边框
答案 0 :(得分:2)
您需要将样式设置为“无”而不是“无边框”。
range.format.borders.getItem('InsideHorizontal').style = "None";
range.format.borders.getItem('InsideVertical').style = 'None';
range.format.borders.getItem('EdgeBottom').style = 'None';
range.format.borders.getItem('EdgeLeft').style = 'None';
range.format.borders.getItem('EdgeRight').style = 'None';
range.format.borders.getItem('EdgeTop').style = 'None';
可能的值记录在RangeBorder object (JavaScript API for Excel)
编辑: 以上仅适用于较新的Excel API。使用经典表绑定时,还有另一种方法。 http://dev.office.com/docs/add-ins/excel/format-tables-in-add-ins-for-excel可以找到这个过程。