ben*_*ver 2 google-apps-script
我正在使用脚本将电子表格转换为 PDF。
为了定义 PDF 的标题,我从几个特定单元格中提取数据,其中一个单元格包含日期。问题是,标题中的日期以长格式显示。这是我的一段代码:
var ss = SpreadsheetApp.openById("XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); // Opens spreadsheet to pull name from, by ID.
var sheet = ss.getSheetByName('PurchaseOrderForm'); // Sets the sheet
var ponumber = sheet.getRange("G3:G3"); // Define ranges/cells here + below.
var date = sheet.getRange("G2:G2") // Custom cell to pull from
var companyname = sheet.getRange("A11:A11") // These are then added together in line 30
var name = ponumber.getValue()+" | "+date.getValue()+" | "+companyname.getValue()+".pdf"; // Output of the final PDF name. A composition of the above vars, plus some custom text.
Run Code Online (Sandbox Code Playgroud)
这将创建几乎与我想要的一样的 PDF 名称,除了日期部分。这是我得到的 PDF 标题的示例:
14PO051 | Tue Jan 28 2014 00:00:00 GMT-0000 (GMT) | Micronclean.pdf
Run Code Online (Sandbox Code Playgroud)
日期出来了,但不是我想要/需要的格式。在电子表格中,日期单元格 G2 的格式为 DD/MM/YY。我需要在我的标题中出现这样的内容,否则它太长了,没有任何用处。
如果有人知道如何将其简化为 DD/MM/YY 或同等日期,我将不胜感激!
一种解决方法是不设置日期格式,而只是将它们手动输入到电子表格中。我希望事情不会发展到这个地步,我的同事们喜欢不必把整个事情都打出来。
var date = Utilities.formatDate(sheet.getRange("G2:G2").getValue(), ss.getSpreadsheetTimeZone(), "dd/MM/YY");
Run Code Online (Sandbox Code Playgroud)
?
小智 5
要从工作表中获取显示的值(使用工作表格式),请使用 getDisplayValue 或 getDisplayValues
https://developers.google.com/apps-script/reference/spreadsheet/range#getdisplayvalues
(如果可能的话,只要您获得超过 1 个单元格,就可以使用复数函数;批量操作速度更快!)
| 归档时间: |
|
| 查看次数: |
8452 次 |
| 最近记录: |