Ir para conteúdo
Fórum Script Brasil
  • 0

[AJUDA] Excel através do Javascript num HTML


Zecapoa

Pergunta

Prezados,

Tenho uma página em HTML com alguns dados. Preciso incluir nessa página, como complemento, as informações que estão em uma planiha excel. Todos os dados (html e excel) estão armazenados na mesma pasta (local). Coloquei abaixo o código que escrevi até agora, com apenas duas células da tabela, como exemplo. Óbvio que o meu código está incorreto e que conheço pouquíssimo de javascript. Eu preciso mostrar, quando passar o mouse sobre a célula HTML, os valores que estão na planilha excel.

Postei em http://zecapoa.tumblr.com uma sequencia de imagens para ajudar a ilustrar.

Peço a gentileza de me ajudarem a encontrar a solução. Qualquer dúvida enviem direto para meu e-mail (renatorossi@globo.com). Grato

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />

<title>Teste de Excel através do Javascript</title>

<link rel="stylesheet" type="text/css" href="style.css" />

&lt;script type="text/javascript" src="js/boxOver.js"></script>

&lt;script type="text/javascript" src="js/GetData.js"></script>

<!-- // Aqui a Função em Javascript que "captura" o endereço a ser buscado e larga em div1

function GetData(cell,row){

var excel = new ActiveXObject("Excel.Application");

var excel_file = excel.Workbooks.Open("C:\\aria.xlsx");

var excel_sheet = excel.Worksheets("Plan1");

var data = excel_sheet.Cells(cell,row).Value;

document.getElementById('div1').innerText =data;

} -->

</head>

<body>

<div id="header"> </div>

<table

width="50"

height="50"

border="4"

cellpadding="10"

bgColor="white" class="adjust_table">

<!-- os dados da planilha são capturados por GetData e passados através de "div1". Deveria aparecer depois de Boxes -->

<!-- Ao passar o mouse deveria aparecer "1801 - ...." -->

<tr><td align="center" bgcolor="#FFFFFF"> <div id="div1" > </div>

<a href="#" onMouseOver="GetData(2,1);" /><text="" title="" header= [1801 - Box 15 - R$ 385,220,33] body=[ ] fade=[on]");"/>1801</a></td></tr>

<!-- Ao passar o mouse deveria aparecer "1701 - .... " -->

<tr><td align="center" bgcolor="#EFEFEF"> <div id="div1" > </div>

<a href="#" onMouseOver="GetData(3,1);" /><text="" title="" header=[1701 - Box 12 e 13 - R$ 381.412,50] body=[ ] fade=[on]);">1701</a></td></tr>

</table>

</body>

</html>

Editado por Zecapoa
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Solução Pronta !!!!

O crédito do desenvolvedor está no c´´odigo

<html>

<head>

<!--All development credits to enhzflep -->

<title>Get data from excel sheet</title>

<script language="javascript" >

var excelApp=null, excelFile=null, excelSheet=null;

var filename = "C:\\Users\\enhzflep\\Documents\\Book2.xlsx";

function initExcel(filename)

{

excelApp = new ActiveXObject("Excel.Application");

excelFile = excelApp.Workbooks.Open(filename);

excelSheet = excelApp.Worksheets('Sheet1');

}

function myShutdownExcel()

{

excelApp.Quit();

excelApp=null;

excelFile=null;

excelSheet=null;

}

function myGetData(column, row)

{

return excelSheet.Cells(column, row).Value;

}

function byId(e) {return document.getElementById(e);}

function myOnLoad2()

{

var numRows = 5, numCols = 7;

var tBody = byId('dataTableBody');

var rowIndex, colIndex, curVal;

var curRow, curCell, curCellText;

initExcel(filename);

for (rowIndex=1; rowIndex<=numRows; rowIndex++)

{

curRow = document.createElement('tr');

for (colIndex=1; colIndex<=numCols; colIndex++)

{

curVal = myGetData(rowIndex, colIndex);

curCell = document.createElement('td');

curCell.setAttribute('title', 'The value of cell [' + rowIndex + ',' + colIndex +']\nis: ' + curVal);

curCellText = document.createTextNode(curVal);

curCell.appendChild(curCellText);

curRow.appendChild(curCell);

}

tBody.appendChild(curRow);

}

myShutdownExcel();

}

</script>

<style>

table

{

border: solid 1px #555;

}

td

{

width: 32px;

border: solid 1px #aaa;

}

</style>

</head>

<body onload="myOnLoad2();">

<b>Get data from excel sheets</b>

<table id='dataTable'>

<tbody id='dataTableBody'>

</tbody>

</table>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...