25 lines
1.2 KiB
Python
25 lines
1.2 KiB
Python
import openpyxl as xl
|
|
|
|
class SaveDataXLSX():
|
|
def __init__(self,file_path:str,sheet_name:str,data):
|
|
wb = xl.load_workbook(filename=file_path)
|
|
sheet = wb[sheet_name]
|
|
max_row = sheet.max_row+2
|
|
for new_row,file in enumerate(data):
|
|
sheet.cell(row=max_row+new_row,column=2,value=file.directory)
|
|
sheet.cell(row=max_row+new_row,column=3,value=file.cad_number)
|
|
sheet.cell(row=max_row+new_row,column=4,value=file.additional_info)
|
|
sheet.cell(row=max_row+new_row,column=5,value=file.square)
|
|
|
|
wb.save(file_path)
|
|
def find_first_empty_row(file_path, sheet_name=None):
|
|
wb = xl.load_workbook(filename=file_path, read_only=True)
|
|
sheet = wb[sheet_name] if sheet_name else wb.active
|
|
|
|
# Перебираем строки до первой пустой
|
|
for row in sheet.iter_rows():
|
|
if all(cell.value is None for cell in row):
|
|
return row[0].row # Возвращаем номер строки (1-based)
|
|
|
|
# Если все строки заполнены, возвращаем следующую после последней
|
|
return sheet.max_row + 1 |