Jump to content
Fórum Script Brasil
  • 0

[AJUDA] Excel através do Javascript num HTML


Zecapoa
 Share

Question

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 ([email protected]). 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>

Edited by Zecapoa
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.8k
    • Total Posts
      648.7k
×
×
  • Create New...