要使用的编码如下:
function updateSlidesWithSheetData() {
// --- 1. 定义您的文件 ID 和数据范围 ---
// Sheet 1: 学生生日信息
const sheet1Id = '您的第一张Sheet文件ID';
const range1 = 'Sheet1!A2:D15'; // 例如 '学生生日表!A2:D15'
// Sheet 2: 学术信息
const sheet2Id = '您的第二张Sheet文件ID';
const range2 = 'Sheet1!A2:E20'; // 例如 '学术数据!A2:E20'
// Sheet 3: 课外活动信息
const sheet3Id = '您的第三张Sheet文件ID';
const range3 = 'Sheet1!A2:C10'; // 例如 '活动记录!A2:C10'
// --- 2. 获取数据 ---
const data1 = Sheets.Spreadsheets.Values.get(sheet1Id, range1).values;
const data2 = Sheets.Spreadsheets.Values.get(sheet2Id, range2).values;
const data3 = Sheets.Spreadsheets.Values.get(sheet3Id, range3).values;
// --- 3. 更新 Google Slides ---
const presentation = SlidesApp.getActivePresentation();
// 更新第一张幻灯片(索引从0开始)
const slide1 = presentation.getSlides()[0];
updateTableInSlide(slide1, data1);
// 更新第二张幻灯片
const slide2 = presentation.getSlides()[1];
updateTableInSlide(slide2, data2);
// 更新第三张幻灯片
const slide3 = presentation.getSlides()[2];
updateTableInSlide(slide3, data3);
}
// 辅助函数:查找并更新幻灯片中的第一个表格
function updateTableInSlide(slide, data) {
const elements = slide.getPageElements();
for (let i = 0; i < elements.length; i++) {
if (elements[i].asPageElement().getPlaceholderType() === SlidesApp.PlaceholderType.TABLE || elements[i].asPageElement().asTable()) {
// 假设我们只更新找到的第一个表格
const table = elements[i].asPageElement().asTable();
// 清除旧数据 (可能需要更复杂的逻辑来匹配行/列)
// 简单起见,这里假设您有一个预先画好的空表格
// 更简单的方法是删除旧表格,然后用新数据新建一个表格
// *** 警告:下面的代码需要您手动实现删除旧表格并新建一个 ***
// 这是一个更可靠的方法:
elements[i].asPageElement().remove();
slide.insertTable(data.length, data[0].length, 50, 50, 100, 100).setContents(data);
return;
}
}
}