# 🚨 Solução de Emergência - Cantoneiras ## Execute no Console do Navegador Abra o console (F12) e cole este código: ```javascript // SOLUÇÃO DE EMERGÊNCIA - FORÇAR CARREGAMENTO DE CANTONEIRAS (async function() { console.log('🚨 SOLUÇÃO DE EMERGÊNCIA INICIADA'); // 1. Verificar elemento const tbody = document.getElementById('cantoneiras-tbody'); if (!tbody) { console.error('❌ Elemento tbody não encontrado!'); console.log('Elementos disponíveis:', document.querySelectorAll('[id*="cant"]')); return; } console.log('✅ Elemento tbody encontrado'); // 2. Carregar CSV console.log('📥 Carregando CSV...'); const response = await fetch('BD/perfis/cantoneiras_brasil_completo.csv'); if (!response.ok) { console.error('❌ Erro ao carregar CSV:', response.status); return; } const csvText = await response.text(); const linhas = csvText.trim().split('\n'); console.log(`📊 CSV carregado: ${linhas.length} linhas`); // 3. Processar dados const dados = []; for (let i = 1; i < linhas.length; i++) { const linha = linhas[i].trim(); if (!linha) continue; const colunas = linha.split(','); if (colunas.length >= 9) { dados.push({ id: colunas[0].trim(), nome: colunas[1].trim(), lado_mm: parseFloat(colunas[2]), espessura_mm: parseFloat(colunas[3]), peso_kg_m: parseFloat(colunas[4]), area_cm2: parseFloat(colunas[5]), momento_inercia_cm4: parseFloat(colunas[6]), raio_giracao_cm: parseFloat(colunas[7]), tipo: colunas[8].trim() }); } } console.log(`✅ Processados: ${dados.length} cantoneiras`); console.log('📋 Primeiro item:', dados[0]); // 4. Exibir na tabela console.log('🎨 Gerando HTML...'); tbody.innerHTML = dados.map(item => ` ${item.nome} ${item.lado_mm} ${item.espessura_mm} ${item.peso_kg_m.toFixed(2)} ${item.area_cm2.toFixed(2)} ${item.momento_inercia_cm4.toFixed(2)} ${item.raio_giracao_cm.toFixed(2)} ${item.tipo} `).join(''); console.log('🎉 TABELA PREENCHIDA COM SUCESSO!'); console.log(`📊 Total de linhas na tabela: ${tbody.querySelectorAll('tr').length}`); // 5. Atualizar contador const totalEl = document.getElementById('cant-total'); if (totalEl) { totalEl.textContent = dados.length; console.log('✅ Contador atualizado'); } console.log('✅ SOLUÇÃO DE EMERGÊNCIA CONCLUÍDA'); })(); ``` ## O Que Este Código Faz 1. ✅ Verifica se o elemento tbody existe 2. ✅ Carrega o CSV diretamente 3. ✅ Processa os dados 4. ✅ Exibe na tabela 5. ✅ Atualiza o contador ## Se Funcionar Se este código funcionar, significa que: - ✅ O CSV está OK - ✅ O elemento HTML existe - ❌ O problema está no carregamento automático ## Próximo Passo Se funcionar, vou criar um botão "Carregar Dados" na interface para você clicar manualmente. --- **Cole o código acima no console e me diga o resultado!**