Automatiser un traitement
Bonjour j'essaye de copier des données excel d'un classeur vers un appli HTA.
Du coups j'essaye de coder en Javascript l'opération.
J'ai trouvé un bout de code qui marche pas mal cependant il implique de faire ligne par ligne...
Pas tellement pratique ! Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| <HTML>
<HEAD>
<LINK REL="stylesheet" TYPE="text/css" HREF="styles.css">
<TITLE>
</TITLE>
</HEAD>
<script LANGUAGE=javascript>
<!--
// ============== solution accès direct aux lignes de EXCEL de Article 01, 02 et 03 ===================================
function ImportFromXLS_Direct() {
var Path_file; // Chemin du fichier
var oExcel; // Application Excel
var oExcelSheet; // Feuille de calcul
var oWkBooks; // Contenu du fichier Excel
// Chemin du fichier EXCEL avec des "/" et non des "\"
// Le chemin peut aussi être mis en "dur" exemple : Path_file = "c:/mes documents/répertoire/Excel_export.xls"
var Rep_cour = window.location.href; // Répertoire de la page htm en cours
var Index = Rep_cour.lastIndexOf("/"); // Rechecher du dernier séparateur /
var Rep_cour = Rep_cour.substring(0,Index); // Répertoire du fichier
Path_file = "D:/Users/s580385/Desktop/HTML/Gestion donnees stock.xlsx";
// Lancement de EXCEL
oExcel = new ActiveXObject('Excel.Application');
oExcel.WorkBooks.Open (Path_file);
// Pour rendre EXCEL visible sinon supprimer la ligne
oExcel.Visible = true;
document.getElementById("A1").innerHTML = oExcel.ActiveSheet.cells(3,1).value; // Cellule(lignes, colonnes)
document.getElementById("A2").innerHTML = oExcel.ActiveSheet.cells(4,1).value;
document.getElementById("A3").innerHTML = oExcel.ActiveSheet.cells(5,1).value;
document.getElementById("Q1").innerHTML = oExcel.ActiveSheet.cells(3,2).value;
document.getElementById("Q2").innerHTML = oExcel.ActiveSheet.cells(4,2).value;
document.getElementById("Q3").innerHTML = oExcel.ActiveSheet.cells(5,2).value;
//var total = oExcel.ActiveSheet.cells(2,2).value + oExcel.ActiveSheet.cells(3,2).value + oExcel.ActiveSheet.cells(4,2).value;
//document.getElementById("TOT").innerHTML = total;
// fermeture de EXCEL sinon supprimer les deux lignes
oExcel.WorkBooks.Close;
oExcel.Quit();
}
//-->
</script>
<BODY>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber1">
<tr>
<td width="300">
<p align="center"><font size="1">Articles</font></td>
<td width="100">
<p align="center"><font size="1">Quantites</font></td>
</tr>
<tr>
<td width="300" id="A1"> </td>
<td width="100" id="Q1" align="center"><p align="center">0</td>
</tr>
<tr>
<td width="300" id="A2"> </td>
<td width="100" id="Q2" align="center"><p align="center">0</td>
</tr>
<tr>
<td width="300" id="A3"> </td>
<td width="100" id="Q3" align="center"><p align="center">0</td>
</tr>
</table>
<br>
<p><INPUT type="button" value="Importer de EXCEL - direct A1, A2 et A3" id=button1 name=button1 onCLick="ImportFromXLS_Direct()" style="width: 400"></p>
</BODY>
</HTML> |
Es ce qu'il y aurait un moyen d'automatiser la création et l'insertion des lignes ? (j'ai essayé avec for, sans succés...)
Par avance merci de votre aide