function main(spreadsheetReport, isAjaxRefreshCallback) {
//遍历日期(B列,起始B6(6,2))是否是上月或当月,来回写单元格G(6,7),H(6,8),I(6,9),J(6,10),L(6,12),N(6,14),P(6,16),R(6,18),S(6,19)
var map = spreadsheetReport.elemSheetFrame.contentWindow.writableMap;
console.log(map);
var currentDate = new Date();
var currentMonth = currentDate.getMonth() + 1; // 月份从0开始,所以要+1
var currentYear = currentDate.getFullYear();
var lastMonth = currentMonth === 1 ? 12 : currentMonth - 1; // 处理1月的情况
var lastYear = currentMonth === 1 ? currentYear -1 : currentYear ; // 处理1月的情况
for (i = 6; i < spreadsheetReport.getRowCount() - 1; i++) {
var cell = spreadsheetReport.getCell(i, 2);
if (cell && cell.textContent !== undefined) {
var value = cell.textContent;
var monthStr = value.substr(5, 2);
var cellMonth = parseInt(monthStr, 10);
var yearStr = value.substr(0, 4);
var cellYear = parseInt(yearStr, 10);
var keys = [
i + ":" + 7, // G列
i + ":" + 8, // H列
i + ":" + 9, // I列
i + ":" + 10, // J列
i + ":" + 12, // L列
i + ":" + 14, // N列
i + ":" + 16, // P列
i + ":" + 18, // R列
i + ":" + 19 // S列
];
var isCurrentOrLastMonth = (cellYear===currentYear && cellMonth === currentMonth) || (cellYear===lastYear && cellMonth === lastMonth);
for (var j = 0; j < keys.length; j++) {
var key = keys[j];
if (map[key]) {
map[key].modifiable = isCurrentOrLastMonth;
}
}
}
}
}
代码如上 |