| 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;
 }
 }
 }
 }
 
 }
 代码如上
 |