The Google Apps Script uses the Advanced Drive API to covert Microsoft Excel files (XLS, XLSX) into CSV files and saves them into a specific Google Drive folder. The Excel sheets are deleted after the CSV files are saved in Drive.
Also see: Convert Google Sheets to PDF Files
The conversion engine may timeout if you have too many XLS/XLSX files in a Google Drive and in that case, you’d need to include the time check to ensure that the script doesn’t exceed the execution time limit.
function convertXLSFilesToCSV() {
  var oauthToken = ScriptApp.getOAuthToken(),
    sourceFolder = DriveApp.getFolderById(SOURCE_XLS_FOLDER),
    targetFolder = DriveApp.getFolderById(TARGET_CSV_FOLDER),
    mimes = [MimeType.MICROSOFT_EXCEL, MimeType.MICROSOFT_EXCEL_LEGACY];
  /* Written by Amit Agarwal */
  /* email: amit@labnol.org  */
  /* website: www.ctrlq.org */
  for (var m = 0; m < mimes.length; m++) {
    files = sourceFolder.getFilesByType(mimes[m]);
    while (files.hasNext()) {
      var sourceFile = files.next();
      // Re-upload the XLS file after convert in Google Sheet format
      var googleSheet = JSON.parse(
        UrlFetchApp.fetch('https://www.googleapis.com/upload/drive/v2/files?uploadType=media&convert=true', {
          method: 'POST',
          contentType: 'application/vnd.ms-excel',
          payload: sourceFile.getBlob().getBytes(),
          headers: {
            Authorization: 'Bearer ' + oauthToken,
          },
        }).getContentText()
      );
      // The exportLinks object has a link to the converted CSV file
      var targetFile = UrlFetchApp.fetch(googleSheet.exportLinks['text/csv'], {
        method: 'GET',
        headers: {
          Authorization: 'Bearer ' + oauthToken,
        },
      });
      // Save the CSV file in the destination folder
      targetFolder.createFile(targetFile.getBlob()).setName(sourceFile.getName() + '.csv');
      // Delete the processed file
      sourceFile.setTrashed(true);
    }
  }
} 
  
  
  
  
 