Javascript 如何在谷歌脚本中格式化从扫描仪接收到的数据?
我一直在研制一种扫描仪,它可以接收数据并将数据发送到我的谷歌工作表。我把它用于我的机器人在其他团队的侦察。我进退两难,它接收到的数据与扫描的时间一起转储到一个单元格中。数据如下所示:Javascript 如何在谷歌脚本中格式化从扫描仪接收到的数据?,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我一直在研制一种扫描仪,它可以接收数据并将数据发送到我的谷歌工作表。我把它用于我的机器人在其他团队的侦察。我进退两难,它接收到的数据与扫描的时间一起转储到一个单元格中。数据如下所示: 团队编号*7@Color*红色^Power cells Upper:*0^ Power cells Bottom:*0^ Power cells Upper:*1^ Power cells Bottom:*0^输入您的姓名*姓名^Red Alliance的分数*95^ Blue Alliance的分数*27^个人笔
团队编号*7@Color*红色^Power cells Upper:*0^ Power cells Bottom:*0^ Power cells Upper:*1^ Power cells Bottom:*0^输入您的姓名*姓名^Red Alliance的分数*95^ Blue Alliance的分数*27^个人笔记*移动似乎滞后,几乎倾斜^3次以上,5次以下旋转色轮*0^将色轮旋转到正确的颜色*0^在*0^撞到其他机器人上时受到保护*0^说明*没有/损坏^0^防御*0^爬升质量*1^速度*1^拾取*2^^^^^结果*Lose^阶段*1^
插入符号应指示数据何时应移到下一个单元格。以下是谷歌脚本中的代码:
function doGet(e){
var ss = SpreadsheetApp.openByUrl("My Sheet");
var sheet = ss.getSheetByName("Sheet1");
return insert(e,sheet);
}
function doPost(e){
var ss = SpreadsheetApp.openByUrl("My Sheet");
var sheet = ss.getSheetByName("Sheet1");
return insert(e,sheet);
}
function insert(e,sheet) {
var scannedData = e.parameter.sdata;
var d = new Date();
var ctime = d.toLocaleString();
sheet.appendRow([scannedData,ctime]);
return ContentService
.createTextOutput("Success")
.setMimeType(ContentService.MimeType.JAVASCRIPT);
}
如前所述,问题在于它将数据转储到单个单元格中,我正在研究如何使插入符号指示它自动将数据放入单元格中。有什么想法吗?试试这样的方法:
function loadWierdData() {
var s="Team Number*7@Color*Red^Power-cells Upper: *0^Power-cells Bottom: *0^Power-cells Upper: *1^Power-cells Bottom: *0^Enter Your Name*Name^Score of Red Alliance*95^Score of Blue Alliance*27^Personal Notes*Movement seems lagged and almost tipped over^Spun the color wheel more than 3 times and less than 5 times*0^Spun the Color Wheel to the correct color*0^Is Defended on*0^Bumps into other Bots*0^Description*Nothing/Broke^Defense*0^Climb_Quality*1^Speed*1^Pickup*2^^^Result*Lose^Stage*1^";
var ss=SpreadsheetApp.getActive();
var sh=ss.getActiveSheet();
var vA=[];
var s0=s.split('^');
s0.forEach(function(r){
var a=r.split('*');
if(a[0]) {
vA.push({header:a[0],data:a.slice(1).join(',')});
}
});
var hA=vA.map(function(o,i){return o.header;});
var rA=vA.map(function(o,i){return o.data;});
if(sh.getLastRow()==0) {
sh.appendRow(hA);
sh.appendRow(rA)
}else{
sh.appendRow(rA);
}
}