Você está na página 1de 5

function baixarCSV() {

var planilha = SpreadsheetApp.getActiveSpreadsheet();


var guiaDados = planilha.getSheetByName("Dadosssss");

var ultimaLinha = guiaDados.getLastRow();


var area = guiaDados.getRange("a1:w6"); //--area que sera traansformada em csv
var guiaDadosCSV = planilha.getSheetByName("PlanDadosCSV"); //--cria nova aba

if(guiaDadosCSV == null){
planilha.insertSheet("PlanDadosCSV");
var guiaDadosCSV = planilha.getSheetByName("PlanDadosCSV");
}else{
guiaDadosCSV.clear();
}

guiaDadosCSV.activate();

SpreadsheetApp.flush();
Utilities.sleep(2000); //--espera 2s

area.copyTo(guiaDadosCSV.getRange("A1"),SpreadsheetApp.CopyPasteType.PASTE_VALUES,f
alse); //--só valores

guiaDadosCSV.getRange("w2:w7").setNumberFormat("General"); //--formatar colunas


numericas para "automatico"
guiaDadosCSV.getRange("w2:w7").setNumberFormat("@"); //--trnasformar em texto

SpreadsheetApp.flush();
Utilities.sleep(4000);

var dados = guiaDadosCSV.getRange(2,23,guiaDadosCSV.getLastRow() - 1,


1).getValues();

for(i = 0; i < dados.length; i++){ //--troca "," por


"." ??pode ser para ";"??
var V = dados[i][0];
dados[i][0] = V.replace(",","."); //V.replace(',','.'); //-----
V.replace(',','.'); //----- V.replace(',','.');/
}
guiaDadosCSV.getRange(2,23, dados.length, 1).setValues(dados);

//guiaDadosCSV.getRange(2,23, dados.length, 1).activate();


//guiaDadosCSV.getActiveRange().setValues(dados);

//var aux = guiaDadosCSV.getRange(2,1,4,22).getValues();

//console.log(aux);
/*
//guiaDadosCSV.getRange("k2:L").setNumberFormat("@"); //--trnasformar DATAS EM
texto
var dados = guiaDadosCSV.getRange(2,22,guiaDadosCSV.getLastRow() - 1,
1).getValues();
for(i = 0; i < dados.length; i++){
var V = dados[i][0];
dados[i][0] = V.replace(',','.');
}
guiaDadosCSV.getRange(2,22, dados.length, 1).setValues(dados); */
//return

//----oculta todas as abas menos essa criada agora


dados.length = 0; //FALTOU NO CÓDIGO DO VÍDEO, SE NÃO TIVER COLUNAS NUMÉRICAS
PRECISA DELETAR ESTA LINHA
var guias = planilha.getSheets();
for(i = 0; i < guias.length; i++){
var nomeGuia = guias[i].getSheetName();
if(nomeGuia != "PlanDadosCSV"){
planilha.getSheetByName(nomeGuia).hideSheet();
}

}
var nomePlan = planilha.getName(); //---- captura o nome da planilha

planilha.rename("DadosGerada"); //----renomeia a planilha

SpreadsheetApp.flush();
Utilities.sleep(6000);

//--gera o csv e apaga o arquivo


var url = planilha.getUrl().replace(/edit$/, '') + 'export?exportFormat=csv';

var html = "<script>window.open('" + url +


"');google.script.host.close();</script>";

var userInterface = HtmlService.createHtmlOutput(html)


.setHeight(10)
.setWidth(120);

SpreadsheetApp.getUi().showModalDialog(userInterface,"Baixando CSV ...");

SpreadsheetApp.flush();
Utilities.sleep(6000);

guiaDados.activate();

SpreadsheetApp.flush();
Utilities.sleep(3000);

//--reexibe todas as abas e apaga a aba criada


for(i=0; i < guias.length;i++){

var nomeGuia = guias[i].getSheetName();

if(nomeGuia == "PlanDadosCSV"){
planilha.deleteSheet(guias[i]);
}else{
planilha.getSheetByName(nomeGuia).showSheet();
}

}
planilha.rename("nomePlan");

Browser.msgBox("CSV baixado com sucesso!");

/*

/*
function mysig() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var rng = sheet.getRange(34,6);
var url = "https://drive.google.com/file/d/1INcEgquMuyjxc6UKHpl5shK8hsdFouUq/
view?usp=sharing"
var fetch_img = UrlFetchApp.fetch(url);
var blob = fetch_img.getBlob();
Logger.log(fetch_img.getBlob())
sheet.insertImage(blob, 6, 34);

* script para exportar dados em todas as planilhas da planilha atual como arquivos
csv individuais
* os arquivos serão nomeados de acordo com o nome da planilha
* autor: Michael Derazon

function onOpenkkkk ( ) {
var ss = PlanilhaAplicativo . getActiveSpreadsheet ( ) ;
var csvMenuEntries = [ { nome : "exportar como arquivos csv" , functionName :
"saveAsCSV" } ] ;
ss . addMenu ( "csv" , csvMenuEntries ) ;
} ;

function salvarAsCSV ( ) {
var ss = PlanilhaAplicativo . getActiveSpreadsheet ( ) ;
var folhas = ss . getSheets ( ) ;
// cria uma pasta a partir do nome da planilha
var pasta = DriveApp . createFolder ( ss . getName ( ) . toLowerCase ( ) .
replace ( / / g , '_' ) + '_csv_' + new Date ( ) . getTime ( ) ) ;
for ( var i = 0 ; i < folhas . comprimento ; i ++ ) {
var planilha = planilhas [ i ] ;
// anexa a extensão ".csv" ao nome da planilha
nomeArquivo = planilha . getNome ( ) + ".csv" ;
// converte todos os dados da planilha disponíveis para o formato csv
var csvFile = convertRangeToCsvFile_ ( fileName , planilha ) ;
// cria um arquivo na lista de documentos com o nome fornecido e os dados csv
pasta . createFile ( fileName , csvFile ) ;
}
Navegador . msgBox ( ' Arquivos estão esperando em uma pasta chamada ' +
pasta .getName ( ) ) ;
}
/*
function convertRangeToCsvFile_ ( csvFileName , folha ) {
// obtém o intervalo de dados disponível na planilha
var intervaloAtivo = folha . getDataRange ( ) ;
tente {
var dados = activeRange . obterValores ( ) ;
var csvFile = indefinido ;

// percorre os dados no intervalo e constrói uma string com os dados csv


if ( dados . comprimento > 1 ) {
var csv = "" ;
for ( var linha = 0 ; linha < dados . comprimento ; linha ++ ) {
for ( var col = 0 ; col < dados [ linha ] . comprimento ; col ++ )
{
if ( dados [ linha ] [ col ] . toString ( ) . indexOf ( "," ) != - 1 )
{
dados [ linha ] [ col ] = "\"" + dados [ linha ] [ col ] + "\"" ;
}
}

// junta as colunas de cada linha


// adiciona um retorno de carro ao final de cada linha, exceto para a
última
if ( linha < dados . comprimento - 1 ) {
csv += dados [ linha ] . join ( "," ) + "\r\n" ;
}
outra coisa {
csv += dados [ linha ] ;
}
}
csvArquivo = csv ;
}
return csvArquivo ;
}
pegar ( err ) {
Registrador . registro ( erro ) ;
Navegador . msgBox ( err ) ;
}
}

Obteve este script para salvar o arquivo csv na mesma pasta adicionando esta linha:
var folderX = DriveApp.getFolderById('dir_id');
Onde você deve alterar a entrada do ID da pasta desejada.

E, por último, modificando este:


folder.createFile(fileName, csvFile);
Para
folderX.createFile(fileName, csvFile);

function writeFile(folder, fileName, data) {


var existingFiles = folder.getFilesByName(fileName);
if (existingFiles.hasNext()) {
existingFiles.next().setContent(data);
} else {
folder.createFile(fileName, data, 'text/csv');
}
}
*/

Você também pode gostar