открытие псевдо HTML .XLS на диске Google - PullRequest
1 голос
/ 28 января 2020

Я скачал файл .xls, но не могу его открыть в Google Sheets.

Я вижу некоторый HTML -подобный код, который включает числа, но не может быть проанализирован с помощью простого HTML средства просмотра.

Вот пример .

Есть ли способ открыть его, используя скрипт приложения? Это было бы лучшим. Спасибо

1 Ответ

1 голос
/ 29 января 2020

Если мое понимание верно как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

Проблема и решение:

Когда я увидел ваш общий файл, обнаружилось, что файл является частью данных HTML, включая стол. Файл не является файлом Excel. Но mimeType - application/vnd.ms-excel. Таким образом, файл не может быть просмотрен в браузере и преобразован в электронную таблицу Google.

Чтобы просмотреть данные таблицы общего файла с помощью электронной таблицы Google, как насчет извлечения таблицы из файла и размещения это в Google Spreadsheet? Таким образом, вы можете увидеть его в Google Spreadsheet.

Пример сценария:

Скопируйте и вставьте следующий сценарий в редактор сценариев Google Apps Script, а включите Sheets API в Расширенные сервисы Google . Затем запустите функцию myFunction.

function myFunction() {
  var fileId = "1_sPnJmY7l8krUulS6EoBIvKqSfxbQLW-";  // From the URL of https://drive.google.com/file/d/1_sPnJmY7l8krUulS6EoBIvKqSfxbQLW-/view?usp=sharing

  var html = DriveApp.getFileById(fileId).getBlob().getDataAsString();
  var table = html.match(/<table[\w\s\S]+?<\/table>/gi)[0];
  var ss = SpreadsheetApp.create("sampleSpreadsheet");
  var sheetId = ss.getSheets()[0].getSheetId();
  var resource = {requests: [{pasteData: {html: true, data: table, coordinate: {sheetId: sheetId, rowIndex: 0}}}]};
  Sheets.Spreadsheets.batchUpdate(resource, ss.getId());
}
  • . При запуске сценария создается новая электронная таблица Google в папке root и помещается таблица из общего файла в электронную таблицу. .

Примечание:

  • Например, если вы хотите просто подтвердить файл HTML как файл PDF, вы также можете использовать следующий скрипт .

    var fileId = "1_sPnJmY7l8krUulS6EoBIvKqSfxbQLW-";  // From the URL of https://drive.google.com/file/d/1_sPnJmY7l8krUulS6EoBIvKqSfxbQLW-/view?usp=sharing
    var blob = DriveApp.getFileById(fileId).getBlob().setContentType(MimeType.HTML).getAs(MimeType.PDF);
    DriveApp.createFile(blob.setName("sampleDocument"));
    

Ссылка:

Если я неправильно понял ваш вопрос и это было не то направление, которое вы хотите, я прошу прощения.

...