如何通过文本字段将图表目标位置作为用户在 Excel VSTO 加载项中的输入?
How to take chart target position as input from the user in an Excel VSTO Add-in through a textfield?
我想在 Excel 加载项上创建条形图,但我想从文本字段中的用户处获取图表的目标位置,我如何使用该值并将其分配给chart.setPosition ?是否可以将 setPosition 函数的参数添加为包含从文本字段输入的值的变量?
这是我的代码:
function createBarChart() {
Excel.run(function (context) {
const sheet = context.workbook.worksheets.getItem("Sheet1");
const salesTable = sheet.tables.getItem("Table1");
const dataRange = salesTable.getDataBodyRange();
let chart = sheet.charts.add("ColumnClustered", dataRange, "Auto");
chart.setPosition("A9", "F20");
chart.title.text = "Farm Sales Bar chart";
chart.legend.position = "Right";
chart.legend.format.fill.setSolidColor("white");
chart.dataLabels.format.font.size = 15;
chart.dataLabels.format.font.color = "black";
let points = chart.series.getItemAt(0).points;
points.getItemAt(0).format.fill.setSolidColor("pink");
points.getItemAt(1).format.fill.setSolidColor("indigo");
return context.sync();
})
.catch(function (error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
}
你可以使用
<input type="text" id="leftTop"/>
<input type="text" id="bottomRight"/>
在HTML中供用户输入参数,并使用
let value = $("#leftTop").val();
let lt = String(value);
value = $("#bottomRight").val();
let br = String(value);
chart.setPosition(lt, br);
将文本字段解析为 chart.setPosition。
这是一个 sample code,您可以 运行 将其导入 ScriptLab。
我想在 Excel 加载项上创建条形图,但我想从文本字段中的用户处获取图表的目标位置,我如何使用该值并将其分配给chart.setPosition ?是否可以将 setPosition 函数的参数添加为包含从文本字段输入的值的变量?
这是我的代码:
function createBarChart() {
Excel.run(function (context) {
const sheet = context.workbook.worksheets.getItem("Sheet1");
const salesTable = sheet.tables.getItem("Table1");
const dataRange = salesTable.getDataBodyRange();
let chart = sheet.charts.add("ColumnClustered", dataRange, "Auto");
chart.setPosition("A9", "F20");
chart.title.text = "Farm Sales Bar chart";
chart.legend.position = "Right";
chart.legend.format.fill.setSolidColor("white");
chart.dataLabels.format.font.size = 15;
chart.dataLabels.format.font.color = "black";
let points = chart.series.getItemAt(0).points;
points.getItemAt(0).format.fill.setSolidColor("pink");
points.getItemAt(1).format.fill.setSolidColor("indigo");
return context.sync();
})
.catch(function (error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
}
你可以使用
<input type="text" id="leftTop"/>
<input type="text" id="bottomRight"/>
在HTML中供用户输入参数,并使用
let value = $("#leftTop").val();
let lt = String(value);
value = $("#bottomRight").val();
let br = String(value);
chart.setPosition(lt, br);
将文本字段解析为 chart.setPosition。
这是一个 sample code,您可以 运行 将其导入 ScriptLab。