finish logic
This commit is contained in:
25
save.py
Normal file
25
save.py
Normal file
@@ -0,0 +1,25 @@
|
||||
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
|
||||
Reference in New Issue
Block a user