Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 复制行并将其追加,在google脚本中保留文本格式_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 复制行并将其追加,在google脚本中保留文本格式

Google apps script 复制行并将其追加,在google脚本中保留文本格式,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个谷歌表,上面有零件和序列号的列表。然后我有一个脚本,该脚本获取该列表并创建一个新的工作表,如果第一张工作表中有多个序列号,则该工作表会将每个零件号/序列号拆分为自己的行。 第一页 项目#描述类型系列 231231棒球运动1232242132100000321321 第二页 231231棒球运动12322 231231棒球运动421321 231231棒球运动321321 我的问题是当我复制最后一个单元格时,有时数字有前导0,但有时不总是文本。除了删除前导的0之外,所有操作都正常 下面是我

我有一个谷歌表,上面有零件和序列号的列表。然后我有一个脚本,该脚本获取该列表并创建一个新的工作表,如果第一张工作表中有多个序列号,则该工作表会将每个零件号/序列号拆分为自己的行。 第一页 项目#描述类型系列 231231棒球运动1232242132100000321321

第二页 231231棒球运动12322 231231棒球运动421321 231231棒球运动321321

我的问题是当我复制最后一个单元格时,有时数字有前导0,但有时不总是文本。除了删除前导的0之外,所有操作都正常

下面是我正在使用的代码。我尝试了一些方法,但我无法复制d列的确切文本。它总是希望删除0,而添加指定的0集将不起作用,因为并非所有内容都有相同的数量,有些做了,有些不做

    //@@@@@@@@@@@@@@@@@@@@@@@ Print Avery Labels @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  function createAveryLabelsSheet() {
   Logger.clear()
  // source spreadsheets
  var sourceSpreadSheet = SpreadsheetApp.getActive();
  var ss = sourceSpreadSheet.getSheetByName('On Hands Stock'); 
 //destination spreadsheet
 var destinationSpreadSheet = sourceSpreadSheet.getSheetByName('Avery Labels');
//  destinationSpreadSheet.appendRow(['Item #','Description','Type','Serial #','Print']);
  var startRow=2; // First row of data to process
  var numRows = 350; // Number of rows to process
  var startColumn = 1;  // A=1 B=2
  var numColumns = 9;  // Number of columns to process

//    destinationSpreadSheet.setRowHeights(2, 300, 100);


var dataRange = ss.getRange(startRow, startColumn, numRows, numColumns);

  var data = dataRange.getValues();
  for (var i = 1; i < data.length; ++i) {
    var column = data[i]; 
    if(column[0] != ""){
    var itemnum = column[0]; // a column
    var desc = column[1]; // b column
  var type = column[4]; // b column  
    var serial = column[3]; // b column 
    var serialnum = serial.split(", ");
var print = 'False';


      for (var j = 0; j < serialnum.length; ++j) {

        if(serial != ""){  

          var cell = sourceSpreadSheet.getSheetByName('Avery Labels').getRange('E'+i);
addCheckbox(cell);

  //        var setcellformat = sourceSpreadSheet.getSheetByName('Avery Labels').getRange('A'+i);
   //      setcellformat.setFontWeight("bold").setHorizontalAlignment("center").setWrap(false).setFontFamily('Arial').setFontSize('10').setNumberFormat("@");   

          destinationSpreadSheet.appendRow([itemnum,desc,type,serialnum[j],]);

  }else{
    var cell =  sourceSpreadSheet.getSheetByName('Avery Labels').getRange('E'+i);
addCheckbox(cell);

    destinationSpreadSheet.appendRow([itemnum,desc,type,]);
  }
}

  }
  } 
formatAverySheets();
  }

                                      function addCheckbox(cell) {  
  var criteria = SpreadsheetApp.DataValidationCriteria.CHECKBOX;
  var rule = SpreadsheetApp.newDataValidation().requireCheckbox().build();
  cell.setDataValidation(rule);
}


function formatAverySheets() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheetByName('Avery Labels');
   var end =sheet.getLastRow();
  var cell = sheet.getRange('a2:'+end);
  //cell.sort(3);

 cell.setFontWeight("bold").setHorizontalAlignment("center").setWrap(false).setFontFamily('Arial').setFontSize('10');

 var serialcell = sheet.getRange('d2:'+end);
// serialcell.setFontWeight("bold").setHorizontalAlignment("center").setWrap(false).setFontFamily('Arial').setFontSize('10').setNumberFormat('@');

 var lastcolumn =sheet.getLastColumn();
 sheet.autoResizeColumns(1, lastcolumn);

  SpreadsheetApp.flush();


  AverySheeFinished();

                                      }
/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
函数createAveryLabelsSheet(){
Logger.clear()
//源电子表格
var sourceSpreadSheet=SpreadsheetApp.getActive();
var ss=sourceSpreadSheet.getSheetByName('现货');
//目的地电子表格
var destinationSpreadSheet=sourceSpreadSheet.getSheetByName('Avery Labels');
//destinationSpreadSheet.appendRow(['Item#','Description','Type','Serial#','Print']);
var startRow=2;//要处理的第一行数据
var numRows=350;//要处理的行数
var startColumn=1;//A=1 B=2
var numColumns=9;//要处理的列数
//目的地分布表。设置行高(2300100);
var dataRange=ss.getRange(startRow、startColumn、numRows、numColumns);
var data=dataRange.getValues();
对于(变量i=1;i
我确信这不是最干净的代码,但我发现它现在可以工作了。我添加了getLastRow,然后是一段在输入前格式化为纯文本的代码

//@@@@@@@@@@@@@@@@@@@@@@@ Print Avery Labels @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  function createAveryLabelsSheet() {

  // source spreadsheets
  var sourceSpreadSheet = SpreadsheetApp.getActive();
  var ss = sourceSpreadSheet.getSheetByName('On Hands Stock'); 
 //destination spreadsheet
 var destinationSpreadSheet = sourceSpreadSheet.getSheetByName('Avery Labels');
// destinationSpreadSheet.appendRow(['Item #','Description','Type','Serial #','Print']);
  var startRow=2; // First row of data to process
  var numRows = 350; // Number of rows to process
  var startColumn = 1;  // A=1 B=2
  var numColumns = 9;  // Number of columns to process

//    destinationSpreadSheet.setRowHeights(2, 300, 100);


var dataRange = ss.getRange(startRow, startColumn, numRows, numColumns);

  var data = dataRange.getValues();
  for (var i = 1; i < data.length; ++i) {
    var column = data[i]; 
    if(column[0] != ""){
    var itemnum = column[0]; // a column
    var desc = column[1]; // b column
    var type = column[4]; // b column  
    var serial = column[3]; // b column 
    var serialnum = serial.split(", ");
   var print = 'False';


   for (var j = 0; j < serialnum.length; ++j) {
 if(serial != ""){     
     destinationSpreadSheet.appendRow([itemnum,desc,type]);
   var lastrow=destinationSpreadSheet.getLastRow();
  destinationSpreadSheet.getRange('d'+lastrow).setNumberFormat('@').setValue(serialnum[+j]);         

 var cell = sourceSpreadSheet.getSheetByName('Avery Labels').getRange('E'+i);

   addCheckbox(cell);
      }else{

  var cell =  sourceSpreadSheet.getSheetByName('Avery Labels').getRange('E'+i);
  addCheckbox(cell);
  destinationSpreadSheet.appendRow([itemnum,desc,type,]);
   }
       }
    }
  } 
}
/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
函数createAveryLabelsSheet(){
//源电子表格
var sourceSpreadSheet=SpreadsheetApp.getActive();
var ss=sourceSpreadSheet.getSheetByName('现货');
//目的地电子表格
var destinationSpreadSheet=sourceSpreadSheet.getSheetByName('Avery Labels');
//destinationSpreadSheet.appendRow(['Item#','Description','Type','Serial#','Print']);
var startRow=2;//要处理的第一行数据
var numRows=350;//要处理的行数
var startColumn=1;//A=1 B=2
var numColumns=9;//要处理的列数
//目的地分布表。设置行高(2300100);
var dataRange=ss.getRange(startRow、startColumn、numRows、numColumns);
var data=dataRange.getValues();
对于(变量i=1;i
我确信这不是最干净的代码,但我发现它现在可以工作了。我添加了getLastRow,然后是一段在输入前格式化为纯文本的代码

//@@@@@@@@@@@@@@@@@@@@@@@ Print Avery Labels @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  function createAveryLabelsSheet() {

  // source spreadsheets
  var sourceSpreadSheet = SpreadsheetApp.getActive();
  var ss = sourceSpreadSheet.getSheetByName('On Hands Stock'); 
 //destination spreadsheet
 var destinationSpreadSheet = sourceSpreadSheet.getSheetByName('Avery Labels');
// destinationSpreadSheet.appendRow(['Item #','Description','Type','Serial #','Print']);
  var startRow=2; // First row of data to process
  var numRows = 350; // Number of rows to process
  var startColumn = 1;  // A=1 B=2
  var numColumns = 9;  // Number of columns to process

//    destinationSpreadSheet.setRowHeights(2, 300, 100);


var dataRange = ss.getRange(startRow, startColumn, numRows, numColumns);

  var data = dataRange.getValues();
  for (var i = 1; i < data.length; ++i) {
    var column = data[i]; 
    if(column[0] != ""){
    var itemnum = column[0]; // a column
    var desc = column[1]; // b column
    var type = column[4]; // b column  
    var serial = column[3]; // b column 
    var serialnum = serial.split(", ");
   var print = 'False';


   for (var j = 0; j < serialnum.length; ++j) {
 if(serial != ""){     
     destinationSpreadSheet.appendRow([itemnum,desc,type]);
   var lastrow=destinationSpreadSheet.getLastRow();
  destinationSpreadSheet.getRange('d'+lastrow).setNumberFormat('@').setValue(serialnum[+j]);         

 var cell = sourceSpreadSheet.getSheetByName('Avery Labels').getRange('E'+i);

   addCheckbox(cell);
      }else{

  var cell =  sourceSpreadSheet.getSheetByName('Avery Labels').getRange('E'+i);
  addCheckbox(cell);
  destinationSpreadSheet.appendRow([itemnum,desc,type,]);
   }
       }
    }
  } 
}
/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@