Как экспортировать в Excel с помощью кнопки в скрипте Google? - PullRequest
0 голосов
/ 18 марта 2020

Я делаю следующий код для экспорта данных листа в Excel, но это не так. это мой код:

codi go .gs

функция doGet (e) {

Logger.log(Utilities.jsonStringify(e));
if(!e.parameter.page){
  return HtmlService.createTemplateFromFile("Index").evaluate();
}

 var template=HtmlService.createTemplateFromFile(e.parameter.page)
 template.action=ScriptApp.getService().getUrl();
 return template.evaluate();

return HtmlService
.createHtmlOutputFromFile('Index')
.setSandboxMode(HtmlService.SandboxMode.IFRAME);

}

function getContenidoSS(e){

var bogus = DriveApp.getRootFolder();
var spreadSheet = SpreadsheetApp.openById('1K4yYl6mXdIXKUppCprXvj9o8VpU671EA_x-5HOfoZBs'); 
var ssID = spreadSheet.getSheetByName('ejemplo');

Logger.log(ssID);

var url = "https://docs.google.com/spreadsheets/d/"+ssID+"/export?format=xlsx";   
var params = {method:"GET", headers:{"authorization":"Bearer "+ 
                                     ScriptApp.getOAuthToken()}};
var response = UrlFetchApp.fetch(url, params);

// save to drive
DriveApp.createFile(response);

var nombre_usuario="se paso la data";

return nombre_usuario;

 }

index. html

   <script src="//code.jquery.com/jquery-1.10.2.js"></script>

   <script>
   function mostrar_contenido(){
      google.script.run.withSuccessHandler(getContenido).getContenidoSS(document.forms[0]);
   }
  function getContenido(reg){
     $( "#codigo_personal" ).val(reg);
  }


 /*----------------codigo esencial para conectar con codigo.GS----------------------*/
  function preventFormSubmit() {
  var forms = document.querySelectorAll('form');
  for (var i = 0; i < forms.length; i++) {
    forms[i].addEventListener('submit', function(event) {
      event.preventDefault();    
    });
   }   
  }
  window.addEventListener('load', preventFormSubmit);

  /* $(document).ready(function() {
    $('#tabla_trabajo').DataTable();
   } );*/

 </script>
 <!DOCTYPE html>
 <html>
   <head>
    <base target="_top">
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.20/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.css">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css" integrity="sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.datatables.net/responsive/2.2.3/css/responsive.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/fixedheader/3.1.6/css/fixedHeader.dataTables.min.css"> 

 </head>
 <body>
    <div class="modal-header" style="background-color: blue;color: white;padding-top:5px;padding-bottom:5px">
       <CENTER><label style="font-size: 30px;font-family: monospace;font-weight: normal;color:white">ACTIVIDADES</label></CENTER>
   </div>
  <div id="login_contenido" style="margin-left:15px;margin-top:5px">

   <form class="form-inline" id="form_login">
      <div class="form-group mb-2">
         <button  title='exportar hoja' class="btn btn-primary" onclick="mostrar_contenido();"><i class='fas fa-cog fa-1x'></i>&nbsp;EXPORTAR HOJA</button>
      </div>
      <div class="form-group mb-2">
         <input type="text" class="form-control" id="codigo_personal" name="codigo_personal" placeholder="Ingrese su codigo...">
      </div>
     </form>
   </div>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
 <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css">
 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.1/css/bootstrap-select.css" />
 <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.bundle.min.js"></script>
 <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.1/js/bootstrap-select.min.js"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.css">
    <link rel="stylesheet" href="https://cdn.datatables.net/responsive/2.2.3/css/responsive.bootstrap4.min.css">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css" integrity="sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdn.datatables.net/responsive/2.2.3/css/responsive.bootstrap4.min.css">
    <link rel="stylesheet" href="https://cdn.datatables.net/1.10.20/css/dataTables.bootstrap4.min.css">
    <link rel="stylesheet" href="https://cdn.datatables.net/fixedheader/3.1.6/css/fixedHeader.dataTables.min.css">

<script src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.20/js/dataTables.bootstrap4.min.js"></script>
<script src="https://cdn.datatables.net/responsive/2.2.3/js/dataTables.responsive.min.js"></script>
<script src="https://cdn.datatables.net/responsive/2.2.3/js/responsive.bootstrap4.min.js"></script>
<script src="https://cdn.datatables.net/fixedheader/3.1.6/js/dataTables.fixedHeader.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>

я ищу, чтобы мой лист "ejemplo" экспортировался, но отправлялся туда, куда я хочу его сохранить, без необходимости писать конкретный c путь для его загрузки , Ваш ответ приветствуется

Я хочу, чтобы он был экспортирован, как на этом портале, где при нажатии на кнопку «Descargar Todo» открывается всплывающее окно, где я могу разместить экспортированный файл Excel

enter image description here

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...