office365 - 仅更新 Office 插件中的特定列(Javascript Excel JS API)
问题描述
有人可以帮助我使用 Office JS API 仅更新 Excel 表中的特定列。我只想更新列PSID和名称,如下图所示。我正在使用带有 React 和 TypeScript 的yo Office模板的项目脚手架的 Node JS。
我正在尝试的代码:
handleSubmit = async () => {
try {
await Excel.run(async context => {
var sheet = context.workbook.worksheets.getItem("Tech-Panel");
var expensesTable = sheet.tables.add("A1:B1", true);//.getItem("TechPannelTable");
const { PSID, Name, itcEmailIds, clientEmailIds, contactNo, skills, panelStatus,
client, itcManager, availability, preferredTime, remarks } = this.state.techPanelEntry;
expensesTable.getHeaderRowRange().values = [["PSID", "Name"]]
/*expensesTable.rows.add(null, [
[PSID, Name, itcEmailIds, clientEmailIds, contactNo, skills,
panelStatus, (dateOfInactive != null ? dateOfInactive.toLocaleDateString("en-US") : null), client, itcManager, availability, preferredTime, remarks]
]);*/
expensesTable.rows.add(null, [
[PSID, Name]
]);
if (Office.context.requirements.isSetSupported("ExcelApi", "1.2")) {
sheet.getUsedRange().format.autofitColumns();
sheet.getUsedRange().format.autofitRows();
}
await context.sync();
this.setState({
...this.state,
techPanelEntry: defaultTechPanel()
})
});
} catch (error) {
this.setState({ error: JSON.stringify(error) })
}};
解决方案
你可以参考这个来更新你需要的任何列:table.columns.items[1].getDataBodyRange().values = [["aa"], ["bb"], ["cc"], ["dd" ], ["dee"], ["gg"], ["uu"]];
推荐阅读
- authentication - 如何对 Google Cloud Endpoint 进行经过身份验证的调用?
- elixir - 如何在 Absinthe GraphQL 请求中接受 JSON
- python - 在 Python 中为数据找到合适的多项式拟合
- django - 使用电子邮件而不是用户名获取身份验证令牌
- reactjs - Firebase - 服务器端渲染的服务器 Firestore 读取的最佳实践
- c# - 如何使用 WCF 接收从 Android 发送的图像?
- haskell - 将数字列表转换为自然数
- python - 在使用 Keras LSTM 拟合和预测数据期间,如何使用不同大小的训练数据和测试数据以及不同的 batch_size?
- sql - 比最近更早的历史记录
- jquery - jQuery 全选复选框;取消选中子复选框时取消选择父