是否有一个openpyxl命令来扩展组/轮廓部分(例如,在Excel中单击行旁边的+号)?
在粘贴范围之前,我一直在寻找打开任何轮廓组的命令。
仅当单元格中包含公式并且只想复制/粘贴值时,我才将源文件作为数据打开。
如果我的目标文件在目标行组轮廓折叠的情况下保存,则复制/粘贴代码会运行,但会在每个单元格中粘贴0。
如果我的目标文件在目标行组轮廓被展开的情况下保存,则复制/粘贴代码将运行并粘贴正确/期望的值。
有什么方法可以使用openpyxl扩展该部分,以便我可以将其保存下来然后进行处理?还是有其他方法可以将值粘贴到大纲组中已折叠的行中的单元格中?
#This is opening the source file as data only.
CPriorData = openpyxl.load_workbook(Cons_Ready,data_only=True)
CombinedData = CPriorData["Combined Position"]
# Copy and paste Current Day to Prior Day Areas: Combined
# This works.
def copyRange(startCol=2, startRow=43, endCol=116, endRow=54, sheet=CombinedData):
rangeSelected = []
for i in range(startRow,endRow + 1,1):
rowSelected = []
for j in range(startCol,endCol+1,1):
rowSelected.append(CombinedData.cell(row = i, column = j).value)
rangeSelected.append(rowSelected)
return rangeSelected
def pasteRange(startCol, startRow, endCol, endRow, sheetReceiving,copiedData):
countRow = 0
for i in range(startRow,endRow+1,1):
countCol = 0
for j in range(startCol,endCol+1,1):
sheetReceiving.cell(row = i, column = j).value = copiedData[countRow][countCol]
countCol += 1
countRow += 1
selectedRange = copyRange(2,43,116,54,CombinedData)
pastingRange = pasteRange(2,57,116,68,Combined,selectedRange)