如何用Apps Script提取Google Sheet图表的alt text?
如何通过Apps Script提取Google Sheet图表的Alt Text?
你尝试的代码返回null是因为当前SpreadsheetApp服务的ChartOptions并不支持直接获取图表的Alt Text属性,即便图表已设置该内容。Google Apps Script的Spreadsheet相关文档里确实没有提供对应方法,但可以借助Google Sheets Advanced API实现需求。
实现步骤:
启用Sheets Advanced API
在Apps Script编辑器中,点击顶部菜单栏的「服务」>「添加服务」,找到「Sheets API」并启用。使用以下代码提取Alt Text:
function extractChartAltText() { var spreadsheetId = SpreadsheetApp.getActiveSpreadsheet().getId(); var sheetName = SpreadsheetApp.getActiveSheet().getName(); // 调用Sheets API获取图表的Alt Text var response = Sheets.Spreadsheets.get(spreadsheetId, { ranges: [sheetName], fields: "sheets(charts(altText))" }); var charts = response.sheets[0].charts; if (charts && charts.length > 0) { charts.forEach((chart, idx) => { console.log(`第${idx+1}个图表的Alt Text: ${chart.altText ?? '未设置'}`); }); } else { console.log("当前工作表中没有图表"); } }
这段代码通过Sheets API精准请求图表的altText字段,能正确返回已设置的内容,解决SpreadsheetApp无法直接获取的问题。
内容的提问来源于stack exchange,提问作者jeanjai77
相关产品推荐
相关产品推荐

