I’m trying to move my calendar events into a Google Sheet but I’m running into issues with text formatting. The events have special formatting that I don’t want to carry over to the spreadsheet. When I export the data, it brings along all the original formatting from the calendar descriptions and titles.
I need a way to clean up this data during the transfer process. Has anyone found a good method to strip out formatting while keeping the actual content intact?
Here’s my current approach:
function transferCalendarData() {
var workbook = SpreadsheetApp.getActiveSpreadsheet();
var targetSheet = workbook.getSheetByName("Calendar_Data");
var startDate = targetSheet.getRange("D1").getValue();
var endDate = targetSheet.getRange("E1").getValue();
var calendarId = targetSheet.getRange("F1").getValue();
var myCalendar = CalendarApp.getCalendarById("[email protected]");
var calendarEvents = myCalendar.getEvents(new Date("2022-01-01 00:00:00"), new Date("2022-01-31 23:59:59"));
for (var index = 0; index < calendarEvents.length; index++) {
var eventTitle = calendarEvents[index].getTitle();
var eventStart = calendarEvents[index].getStartTime();
var eventEnd = calendarEvents[index].getEndTime();
var eventLocation = calendarEvents[index].getLocation();
var eventDescription = calendarEvents[index].getDescription();
var eventVisibility = calendarEvents[index].getVisibility();
targetSheet.getRange(index + 3, 1).setValue(eventTitle);
targetSheet.getRange(index + 3, 2).setValue(eventStart);
targetSheet.getRange(index + 3, 3).setValue(eventEnd);
targetSheet.getRange(index + 3, 4).setValue(eventLocation);
targetSheet.getRange(index + 3, 5).setValue(eventDescription);
targetSheet.getRange(index + 3, 6).setValue(eventVisibility);
}
}