13

मैं Google स्प्रेडशीट का उपयोग कर रहा हूं जो कुछ मैं कर रहा हूं उसके लिए संख्यात्मक डेटा का एक समूह प्रोटोटाइप करने के लिए। क्या पाठ फ़ाइल में अनिवार्य रूप से सबसेट निर्यात करने का कोई तरीका है? प्रभावी रूप से, जो मैं करना चाहता हूं वह एक फ़ाइल निर्यात करना है जिसे मैं सीधे किसी अन्य प्रोजेक्ट के निर्माण में शामिल कर सकता हूं।क्या मैं Google स्प्रेडशीट्स स्क्रिप्ट से एक फ़ाइल उत्पन्न कर सकता हूं?

तो क्या डाउनलोड करने के लिए टेक्स्ट फ़ाइल उत्पन्न करने का कोई तरीका है?

उत्तर

12

यदि आपके पास Google Apps खाता है, तो आप टेक्स्ट फ़ाइल बनाने और इसे अपनी दस्तावेज़ सूची में सहेजने के लिए DocsList.createFile() का उपयोग कर सकते हैं।

इस tutorial की धारा 3 से पता चलता है कि कैसे एक स्प्रेडशीट की चयनित श्रेणी को CSV प्रारूप में अपनी दस्तावेज़ सूची में फ़ाइल के रूप में सहेजना है। इसे एक अलग प्रारूप में सहेजने के लिए बहुत आसानी से संशोधित किया जा सकता है।

+0

DocsList सेवा अब कार्यात्मक है: https://developers.google.com/apps -script/सूर्यास्त –

1

मेरे पास Google स्प्रेडशीट के कुछ कॉलम में मेरे प्रोजेक्ट के ग्रंथ हैं। मैंने यह script tutorial from Google लिया और इसे केवल एक विशिष्ट श्रेणी (नीचे दिए गए उदाहरण में डी 4: डी) चुनने के लिए संशोधित किया।

यह आपके ड्राइव रूट फ़ोल्डर में एक CSV फ़ाइल उत्पन्न करता है। यह अभी भी फ़ाइल डाउनलोड नहीं करता है - मैं अब उस पर काम कर रहा हूं।

उम्मीद है कि यह मदद करता है!

/* नीचे दिए गए कोड इस ट्यूटोरियल से एक संशोधन है: https://developers.google.com/apps-script/articles/docslist_tutorial#section3 */

/* The code below is a modification from this tutorial: https://developers.google.com/apps-script/articles/docslist_tutorial#section3 */ 
 

 
function onOpen() { 
 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
 
    var csvMenuEntries = [{name: "Save as CSV file", functionName: "saveAsCSV"}]; 
 
    ss.addMenu("CSV", csvMenuEntries); 
 
} 
 

 
function saveAsCSV() { 
 
    
 
    // Name the file 
 
    fileName = "quests.csv"; 
 
    // Convert the range data to CSV format 
 
    var csvFile = convertRangeToCsvFile_(fileName); 
 
    // Create a file in the root of my Drive with the given name and the CSV data 
 
    DriveApp.createFile(fileName, csvFile); 
 
} 
 

 
function convertRangeToCsvFile_(csvFileName) { 
 
    // Get from the spreadsheet the range to be exported 
 
    var rangeToExport = SpreadsheetApp.getActiveSpreadsheet().getRange("D4:D"); 
 
    
 
    try { 
 
    var dataToExport = rangeToExport.getValues(); 
 
    var csvFile = undefined; 
 

 
    // Loop through the data in the range and build a string with the CSV data 
 
    if (dataToExport.length > 1) { 
 
     var csv = ""; 
 
     for (var row = 0; row < dataToExport.length; row++) { 
 
     for (var col = 0; col < dataToExport[row].length; col++) { 
 
      if (dataToExport[row][col].toString().indexOf(",") != -1) { 
 
      //dataToExport[row][col] = "\"" + dataToExport[row][col] + "\""; 
 
      dataToExport[row][col] = dataToExport[row][col]; 
 
      } 
 
     } 
 

 
     // Join each row's columns 
 
     // Add a carriage return to end of each row, except for the last one 
 
     if (row < dataToExport.length-1) { 
 
      csv += dataToExport[row].join(",") + "\r\n"; 
 
     } 
 
     else { 
 
      csv += dataToExport[row]; 
 
     } 
 
     } 
 
     csvFile = csv; 
 
    } 
 
    return csvFile; 
 
    } 
 
    catch(err) { 
 
    Logger.log(err); 
 
    Browser.msgBox(err); 
 
    } 
 
}

संबंधित मुद्दे