Google 工作表:根据日期提取行
Google Sheets: Pulling rows based on date
我有下面的表格...
打印出对以下电子表格的回复
我有这个当前脚本,它获取行并将它们全部打印在 google 文档中:
function saveAsDOC() {
var fileName = "Announcements Test File";
var doc = DocumentApp.create(fileName);
SpreadsheetApp.getActiveSpreadsheet().toast('Generating file..', 'Status', 3);
// Get the range in the spreadsheet
var ws = SpreadsheetApp.getActiveSpreadsheet().getDataRange();
try {
var data = ws.getValues();
// Print the annoucements in a loop
if (data.length > 1) {
for (var row = 1; row < data.length; row++) {
if(new Date(data[row][2]) <= new Date()) {
for (var col = 1; col < data[row].length; col++) {
if(data[row][col]!=""){
doc.appendParagraph(data[row][col]);
doc.appendParagraph("")
}
}
}
}
}
}
catch(err) {
Logger.log(err);
Browser.msgBox(err);
}
}
我想修改此脚本,以便它只打印 'Start Date' 今天和随后几天直到 'End Date' 的行。我在互联网上找到没有可以帮助我,所以我来了。
编辑:更新了答案。
new Date() 将给出 "now" 的日期对象。然后简单的比较就可以了:
if(new Date(data[row][2]) > new Date() || new Date(data[row][3]) > new Date())
我不确定你的意思,但这是:如果 startDate 在未来或 endDate 在未来。
完整代码
function saveAsDOC() {
// Prompts the user for the file name
var fileName = "TEMP weggooien";
var doc = DocumentApp.create(fileName);
// Get the range in the spreadsheet
var ws = SpreadsheetApp.getActiveSpreadsheet().getDataRange();
try {
var data = ws.getValues();
// Loop through the data in the range and create paragraphs with the appropriate heading
if (data.length > 1) {
for (var row = 1; row < data.length; row++) {
if(new Date(data[row][2]) > new Date() || new Date(data[row][3]) > new Date()) {
for (var col = 1; col < data[row].length; col++) {
if(data[row][col]!=""){
doc.appendParagraph(data[row][col]);
}
}
}
}
}
}
catch(err) {
Logger.log(err);
Browser.msgBox(err);
}
}
我有下面的表格...
打印出对以下电子表格的回复
我有这个当前脚本,它获取行并将它们全部打印在 google 文档中:
function saveAsDOC() {
var fileName = "Announcements Test File";
var doc = DocumentApp.create(fileName);
SpreadsheetApp.getActiveSpreadsheet().toast('Generating file..', 'Status', 3);
// Get the range in the spreadsheet
var ws = SpreadsheetApp.getActiveSpreadsheet().getDataRange();
try {
var data = ws.getValues();
// Print the annoucements in a loop
if (data.length > 1) {
for (var row = 1; row < data.length; row++) {
if(new Date(data[row][2]) <= new Date()) {
for (var col = 1; col < data[row].length; col++) {
if(data[row][col]!=""){
doc.appendParagraph(data[row][col]);
doc.appendParagraph("")
}
}
}
}
}
}
catch(err) {
Logger.log(err);
Browser.msgBox(err);
}
}
我想修改此脚本,以便它只打印 'Start Date' 今天和随后几天直到 'End Date' 的行。我在互联网上找到没有可以帮助我,所以我来了。
编辑:更新了答案。
new Date() 将给出 "now" 的日期对象。然后简单的比较就可以了:
if(new Date(data[row][2]) > new Date() || new Date(data[row][3]) > new Date())
我不确定你的意思,但这是:如果 startDate 在未来或 endDate 在未来。
完整代码
function saveAsDOC() {
// Prompts the user for the file name
var fileName = "TEMP weggooien";
var doc = DocumentApp.create(fileName);
// Get the range in the spreadsheet
var ws = SpreadsheetApp.getActiveSpreadsheet().getDataRange();
try {
var data = ws.getValues();
// Loop through the data in the range and create paragraphs with the appropriate heading
if (data.length > 1) {
for (var row = 1; row < data.length; row++) {
if(new Date(data[row][2]) > new Date() || new Date(data[row][3]) > new Date()) {
for (var col = 1; col < data[row].length; col++) {
if(data[row][col]!=""){
doc.appendParagraph(data[row][col]);
}
}
}
}
}
}
catch(err) {
Logger.log(err);
Browser.msgBox(err);
}
}