Advertisement
linuxoid

z1

Nov 15th, 2022 (edited)
717
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.83 KB | None | 0 0
  1. import xlsxwriter
  2. from openpyxl import load_workbook
  3.  
  4. workbook = xlsxwriter.Workbook('formula.xlsx')
  5. worksheet = workbook.add_worksheet('z1')
  6.  
  7. # заголовки
  8.  
  9. dates = (
  10.     ['Номер', 'Фамилия', 'Имя', 'Отчество', 'Должность', 'Оклад', 'Аванс', 'Пенсионный фонд',
  11.      'Налог', 'К выдаче'],
  12.  
  13. )
  14. # Данные
  15. value = ([1, 'Цветков', 'Гордей', 'Авксентьевич', 'Директор', 90000],
  16.          [2, 'Тарасов', 'Иосиф', 'Егорович', 'Менеджер', 40000],
  17.          [3, 'Борисов', 'Михаил', 'Алексеевич', 'Мастер', 50000],
  18.          [4, 'Ермаков', 'Виталий', 'Федорович', 'Системный администратор', 45000],
  19.          [5, 'Емельянов', 'Болеслав', 'Валерьевич', 'Менеджер', 40000],
  20.          [6, 'Емельянов', 'Нинель', 'Яковлевич', 'Мастер', 50000],
  21.          [7, 'Терентьев', 'Ефрем', 'Федосеевич', 'Менеджер', 40000],
  22.          [8, 'Гордеев', 'Аскольд', 'Константинович', 'Мастер', 50000],
  23.          [9, 'Рожков', 'Мирослав', 'Романович', 'Инженер-КИПиА', 45000],
  24.          [10, 'Фролов', 'Виталий', 'Ярославович', 'Гематолог', 60000],
  25.          [11, 'Вишнякова', 'Зоряна', 'Наумовна', 'Инженер-лаборант', 60000],
  26.          [12, 'Борисова', 'Лидия', 'Леонидовна', 'Гематолог', 40000],
  27.          [13, 'Бобылёва', 'Хильда', 'Арсеньевна', 'Инженер-лаборант', 50000],
  28.          [14, 'Макарова', 'Стелла', 'Данииловна', 'Инженер-лаборант', 45000],
  29.          [15, 'Егорова', 'Венера', 'Александровна', 'Инженер-лаборант', 40000],
  30.          [16, 'Богданова', 'Наоми', 'Протасьевна', 'Гематолог', 50000],
  31.          [17, 'Ильина', 'Лилу', 'Львовна', 'Корректор', 60000],
  32.          [18, 'Фокина', 'Гелена', 'Эльдаровна', 'Корректор', 50000],
  33.          [19, 'Комарова', 'Виталина', 'Романовна', 'Корректор', 40000],
  34.          [20, 'Лукина', 'Вилора', 'Артёмовна', 'Корректор', 40000],)
  35. # Создаем заголовки таблицы
  36. for i, (item, f, n, o, d, zp, a, pfq, nalog, kvidache) in enumerate(dates, start=1):
  37.     worksheet.write(f'A{i}', item)
  38.     worksheet.write(f'B{i}', f)
  39.     worksheet.write(f'C{i}', n)
  40.     worksheet.write(f'D{i}', o)
  41.     worksheet.write(f'E{i}', d)
  42.     worksheet.write(f'F{i}', zp)
  43.     worksheet.write(f'G{i}', a)
  44.     worksheet.write(f'H{i}', pfq)
  45.     worksheet.write(f'I{i}', nalog)
  46.     worksheet.write(f'J{i}', kvidache)
  47. # заполняем данными
  48. for i, (item, f, n, o, d, zp) in enumerate(value, start=2):
  49.     worksheet.write(f'A{i}', item)
  50.     worksheet.write(f'B{i}', f)
  51.     worksheet.write(f'C{i}', n)
  52.     worksheet.write(f'D{i}', o)
  53.     worksheet.write(f'E{i}', d)
  54.     worksheet.write(f'F{i}', zp)
  55. workbook.close()
  56. # открытие листа
  57. wb = load_workbook('formula.xlsx')
  58. worksheet = wb['z1']
  59. ws = wb.active
  60. mrot = 12792
  61. av = 0.4
  62. pfo = 0.01
  63. naloga = 0.13
  64. # расчет итоговых значений
  65. for i in range(2, 22):
  66.     data = ws[f'F{i}'].value
  67.     avans = float(data) * float(av)
  68.     ws[f'G{i}'] = avans
  69.     pfotch = float(data) * float(pfo)
  70.     ws[f'H{i}'] = pfotch
  71.     nal = naloga * (data - pfotch - mrot)
  72.     ws[f'I{i}'] = nal
  73.     naruki = data - avans - pfotch - nal
  74.     ws[f'J{i}'] = naruki
  75.     wb.save('formula.xlsx')
  76. # сохраняем и закрываем
  77.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement