使用谷歌表格中的QR码生成谷歌文档

时间:2017-05-11 05:29:45

标签: google-apps-script google-docs

我有一张包含许多单元格的Google表格,其中一个是QR码(QR码包含姓名和员工ID)。通过替换占位符文本,基于工作表中的值生成Google Docs文件。此Google文档将用作数字传递。

如何将QR码图像放入Google文档中,从Google表格数据中生成?

实施例。在表格中,我将Employee IDNameQR 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)

运行我的脚本时,EmployeeIDName字段会在模板文档中替换为所需的值,但qrCode字段中没有任何内容。

4 个答案:

答案 0 :(得分:1)

您可以使用以下公式在Google工作表中生成QR图像:

=image("https://chart.googleapis.com/chart?chs=150x150&cht=qr&chl="&A2)

在单元格B2中设置此公式。 将您的URL或其他任何内容放在单元格A2

QR码将自动出现在单元格B2中 您可能需要调整单元格大小

enter image description here

答案 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. 

有关appendInlineImage(blob) methodgetChild(name) method

的详细信息

答案 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)