我有一张包含许多单元格的Google表格,其中一个是QR码(QR码包含姓名和员工ID)。通过替换占位符文本,基于工作表中的值生成Google Docs文件。此Google文档将用作数字传递。
如何将QR码图像放入Google文档中,从Google表格数据中生成?
实施例。在表格中,我将Employee ID
,Name
和QR Code
存储在A,B和D列中。
我使用replaceText
替换Document
中的占位符文字:
copyBody.replaceText('EmployeeID', row[i][0]);
copyBody.replaceText('firstName', row[i][1]);
copyBody.replaceText('qrCode', row[i][3]); etc.
QR码作为公式结果存储在表格中:
=IMAGE("https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=" & C2)
运行我的脚本时,EmployeeID
和Name
字段会在模板文档中替换为所需的值,但qrCode
字段中没有任何内容。
答案 0 :(得分:1)
您可以使用以下公式在Google工作表中生成QR图像:
=image("https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl="&A2)
在单元格B2中设置此公式。 将您的URL或其他任何内容放在单元格A2
中QR码将自动出现在单元格B2中 您可能需要调整单元格大小
答案 1 :(得分:1)
IMAGE = IMAGE(URL),即= IMAGE(" http://....") 但在你的公式中:
=IMAGE("https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl="&C2)
"& C2"被放置在"之外"
在使用图像功能之前,您必须将图像URL连接在一起。 我认为您需要先加入图片网址:
=JOIN("","https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=&",C2)
`
或者,您可以将两种功能结合起来:
=IMAGE(JOIN("","https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=&",C2))
答案 2 :(得分:0)
我不认为您的电子表格单元格上生成的QR代码正在考虑作为文本,因此该函数将无需替换'qrCode'。你应该使用上面的代码:
var doc = DocumentApp.openById('DocId')
var ss = SpreadsheetApp.openById('SsId');
var qrCode = ss.getRange('qrCode').getValue(); // Get the QR code value from te Spreadsheet
var url = "https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl=" + qrCode
var resp = UrlFetchApp.fetch(url); // Get the image of QR code
var barcode = doc.getChild(0).asParagraph().appendInlineImage(resp.getBlob()); // Value of child depend of where you want your QR code.
的详细信息
答案 3 :(得分:0)
针对仍在寻找方法的用户的更新(2018年8月)...
Google已弃用QR图表API。我能够找到此基于API的QR生成器:http://goqr.me/api/
使用以下语法对我来说效果很好:
=image("https://api.qrserver.com/v1/create-qr-code/?size=160x160"&[YOUR_DATA],3)
[YOUR DATA]如果需要多个数字或单个单词,则需要对其进行“ URL编码”才能正常工作。这可以通过Google表格ENCODEURL函数来完成。这是我用来显示QR码的整个公式,该QR码表示两个串联的单元格,中间有一个连字符:
=IMAGE("https://api.qrserver.com/v1/create-qr-code/?size=160x160&data="&ENCODEURL(G1&" - "&G2),3)