У меня есть лист Google, в котором есть список деталей и серийные номера.Затем у меня есть скрипт, который берет этот список и создает новый лист, который разбивает каждый номер детали / серийный номер на собственную строку, если на первом листе несколько серийных номеров.номер первого листа серийный номер 231231 Бейсбольные виды спорта 12322, 421321, 00000321321
второй лист 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();
}