import openpyxl
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment

# Cria uma nova planilha
wb = Workbook()
ws = wb.active
ws.title = "Planilha Hipotética"

# Cabeçalhos da planilha
headers = [
    "Token",
    "Jan/2017",
    "Máx Dez/2017",
    "Preço Atual (Hipotético 2024)",
    "Valor a Investir (USD)",
    "Target (30% do Máx Dez)",
    "Número de Tokens (≈)",
    "Valor Alvo (USD)",
    "Lucro Potencial (USD)",
    "% Aumento Necessário"
]
ws.append(headers)

# Dados de entrada (dados históricos e atuais; os valores são ilustrativos)
data = [
    ["XRP", 0.005, 3.84, 0.8, 100],
    ["LTC", 3, 360, 120, 100],
    ["BCH", 100, 4000, 500, 100],
    ["EOS", 0.5, 22, 2, 100],
    ["XLM", 0.002, 0.56, 0.05, 100],
    ["IOTA", 0.3, 5, 0.7, 100],
    ["NEO", 0.5, 140, 20, 100],
    ["TRX", 0.002, 0.3, 0.02, 100],
    ["DASH", 30, 1600, 200, 100],
    ["XMR", 15, 800, 100, 100],
    ["XEM", 0.02, 2.9, 0.2, 100],
    ["XVG", 0.001, 0.18, 0.01, 100],
    ["OMG", 0.25, 30, 2, 100],
    ["QTUM", 0.5, 80, 6, 100],
    ["LSK", 0.3, 10, 0.8, 100],
    ["STRAT", 0.15, 1.5, 0.2, 100],
    ["ARDR", 0.02, 0.75, 0.05, 100],
    ["ICX", 0.05, 4, 0.6, 100],
    ["DOGE", 0.0002, 0.017, 0.005, 100],
    ["ZEC", 50, 1300, 100, 100]
]

# Insere as linhas de dados (linha 2 até 21)
for row in data:
    ws.append(row)

# Para cada linha de dados (de 2 a 21), insere as fórmulas:
for i in range(2, 22):
    # Coluna F (Target): =C * 0.3 (Máx Dez/2017 * 0.3)
    ws.cell(row=i, column=6, value=f"=C{i}*0.3")
    # Coluna G (Número de Tokens): =E / D (Valor a Investir / Preço Atual)
    ws.cell(row=i, column=7, value=f"=E{i}/D{i}")
    # Coluna H (Valor Alvo): =G * F (Número de Tokens * Target)
    ws.cell(row=i, column=8, value=f"=G{i}*F{i}")
    # Coluna I (Lucro Potencial): =H - E (Valor Alvo - Valor a Investir)
    ws.cell(row=i, column=9, value=f"=H{i}-E{i}")
    # Coluna J (% Aumento Necessário): se (Target > Preço Atual) então =((Target - Preço Atual)/Preço Atual)*100, caso contrário 0
    ws.cell(row=i, column=10, value=f"=IF(F{i}>D{i},((F{i}-D{i})/D{i})*100,0)")

# Linha de resumo (linha 22)
ws.cell(row=22, column=1, value="Total / Média")
# Total Lucro Potencial: soma de I2 até I21
ws.cell(row=22, column=9, value="=SUM(I2:I21)")
# Média % Aumento Necessário: média de J2 até J21
ws.cell(row=22, column=10, value="=AVERAGE(J2:J21)")

# Define o estilo do cabeçalho (negrito e centralizado)
header_font = Font(bold=True)
for col in range(1, 11):
    cell = ws.cell(row=1, column=col)
    cell.font = header_font
    cell.alignment = Alignment(horizontal="center")

# Ajusta a largura das colunas (opcional)
column_widths = [10, 12, 12, 22, 18, 22, 25, 18, 22, 22]
for i, width in enumerate(column_widths, start=1):
    ws.column_dimensions[openpyxl.utils.get_column_letter(i)].width = width

# Salva o arquivo XLSX
wb.save("planilha_hipotetica.xlsx")
print("Arquivo 'planilha_hipotetica.xlsx' gerado com sucesso!")
print('Hello world!')

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: