Commit 9ae6ee9e by Lin Wang

fix:clean up sheets

parent 90a9aa12
......@@ -45,7 +45,30 @@ async function uploadAllToSheets() {
// Fetch existing sheet names
const { data: spreadsheet } = await sheets.spreadsheets.get({ spreadsheetId });
const existing = spreadsheet.sheets?.map((s: any) => s.properties?.title || '') || [];
// Prepare and clean up sheets: delete all but the first to avoid empty spreadsheet
const sheetsArr = spreadsheet.sheets || [];
// Delete extra sheets (keep index 0)
if (sheetsArr.length > 1) {
const deleteRequests = sheetsArr.slice(1).map(s => ({ deleteSheet: { sheetId: s.properties?.sheetId } }));
await sheets.spreadsheets.batchUpdate({ spreadsheetId, requestBody: { requests: deleteRequests } });
}
// Track existing titles (only first sheet remains)
const existing: string[] = [sheetsArr[0]?.properties?.title || ''];
// Rename the remaining sheet to match the first file (if any)
if (files.length > 0) {
const firstName = files[0].file.replace(/\.json$/, '');
const firstSheetId = sheetsArr[0].properties?.sheetId!;
if (existing[0] !== firstName) {
await sheets.spreadsheets.batchUpdate({
spreadsheetId,
requestBody: { requests: [
{ updateSheetProperties: { properties: { sheetId: firstSheetId, title: firstName }, fields: 'title' } }
] }
});
}
existing[0] = firstName;
}
for (const { subdir, file, path } of files) {
// Use file name (without extension) as sheetName
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment