Untitled
unknown
python
a month ago
3.2 kB
1
Indexable
Never
import os import pyperclip import time from openpyxl import Workbook, load_workbook from openpyxl.styles import NamedStyle def criar_pasta_na_area_de_trabalho(nome_pasta): desktop_path = os.path.join(os.path.expanduser("~"), "Desktop") folder_path = os.path.join(desktop_path, nome_pasta) if not os.path.exists(folder_path): os.makedirs(folder_path) print(f"Pasta '{nome_pasta}' criada na área de trabalho.") else: print(f"A pasta '{nome_pasta}' já existe na área de trabalho.") return folder_path def salvar_no_excel(conteudo, caminho_excel): try: # Tentar abrir o arquivo Excel existente ou criar um novo if os.path.exists(caminho_excel): workbook = load_workbook(caminho_excel) sheet = workbook.active print("Arquivo Excel existente carregado.") else: workbook = Workbook() sheet = workbook.active print("Novo arquivo Excel criado.") # Define o estilo de moeda moeda_style = NamedStyle(name="moeda_style", number_format='"R$" #,##0.00') ultima_linha = sheet.max_row + 1 for linha in conteudo: try: valor = float(linha.strip()) cell = sheet.cell(row=ultima_linha, column=1) cell.value = valor cell.style = moeda_style ultima_linha += 1 except ValueError: print(f"Conteúdo não numérico ignorado: {linha.strip()}") # Aplicar o estilo de moeda a todas as células na coluna A for row in sheet.iter_rows(min_col=1, max_col=1, min_row=2, max_row=sheet.max_row): for cell in row: cell.style = moeda_style # Salvar diretamente no arquivo Excel workbook.save(caminho_excel) print(f"Conteúdo atualizado no arquivo Excel: {caminho_excel}") except PermissionError as e: print(f"Erro ao salvar no Excel (PermissionError): {e}") except Exception as e: print(f"Erro inesperado ao salvar no Excel: {e}") def copiar_para_area_de_transferencia(): conteudos_copiados = set() while True: time.sleep(0.5) # Intervalo reduzido para maior rapidez conteudo_copiado = pyperclip.paste() if conteudo_copiado and conteudo_copiado not in conteudos_copiados: conteudos_copiados.add(conteudo_copiado) print(f"Conteúdo copiado: {conteudo_copiado}") yield conteudo_copiado def main(): nome_pasta = "NovaPasta" caminho_pasta = criar_pasta_na_area_de_trabalho(nome_pasta) # Criar pasta na área de trabalho caminho_excel = os.path.join(caminho_pasta, "dados.xlsx") copiador = copiar_para_area_de_transferencia() print("Copie o conteúdo para a área de transferência. O script irá salvar automaticamente no Excel.") try: for conteudo in copiador: salvar_no_excel([conteudo], caminho_excel) except KeyboardInterrupt: print("Execução interrompida pelo usuário.") if __name__ == "__main__": main()
Leave a Comment