Как вставить значения диапазона ячеек в свернутую группу контуров строк? - PullRequest
0 голосов
/ 15 апреля 2019

Существует ли команда 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)
...