Samstag, Juni 6, 2020

Wie zu extrahieren, werden mehrere Zellen aus einer excel-Datei mithilfe von javascript auf eine Funktion. (wenn möglich)

<html>
<head>
<title>
Style Get data from excel sheet
</title>
<script language="javascript" >
function GetData(cell,row){
var excel = new ActiveXObject("Excel.Application");
var excel_file = excel.Workbooks.Open("I:test.xlsx");
var excel_sheet = excel.Worksheets("Sheet1");
var data = excel_sheet.Cells(cell,row).Value;
document.getElementById('div1').innerText =data;
}
</script>
</head>
<body>
<p>&nbsp;</p>
<div style="background: #009955; width:'100%';" align="center">
<font color="#000080" size="12pt">
<b>Get data from excel sheets</b>
</font>
</div>
<center>
<p>&nbsp;</p>
<div id="div1" style="background: #DFDFFF; width:'100%';" align="center">
Click buttons to fetch data from F:\\test.xls
</div>
<input type="button" value="cell(1),row(1)" onClick="GetData(1,1);" />
<input type="button" value="cell(2),row(1)" onClick="GetData(1,2);" />
<input type="button" value="cell(1),row(2)" onClick="GetData(2,1);" />
<input type="button" value="cell(2),row(2)" onClick="GetData(2,2);" />
</center>
</body>
</html>

Ich habe versucht, dies mehrere Male, und ich fürchte, ich kann mir auch nicht erklären sehr gut, so dass ich fand diese generische code von dieser Seite, dass ist fast genau das was ich brauche, es zu tun. Die einzige Sache ist, dass ich es brauche, um mehrere Zellen aus einer excel-Datei „onclick“. Wie Sie sehen können, nur immer aus, d.h. (1,1), aber wie würde ich es schreiben, wenn ich wollte, alle von Ihnen (1,1)(1,2)(2,1)(2,2) erfasst werden mit nur einer Taste oder einem href? Ich weiß, das muss einfach sein, um Euch Jungs, aber ich bin neu in diesem. Zwei Wochen neue. Also bitte, jede Hilfe würde geschätzt werden. 🙂 (Und ich habe versucht, mit ihm zu spielen code ändern hier und da, aber nada.)

InformationsquelleAutor user1739280 | 2013-06-10

1 Kommentar

  1. 4

    Einfachste Beispiel…

    function gbid(s){return document.getElementById(s);}
    
    function GetData(cell,row){
        var excel = new ActiveXObject("Excel.Application");
        var excel_file = excel.Workbooks.Open("I:\\test.xlsx");
        var sht = excel.Worksheets("Sheet1");
    
        gbid('div1').innerText = sht.Cells(1,1).Value;
        gbid('div2').innerText = sht.Cells(1,2).Value;
        gbid('div3').innerText = sht.Cells(2,1).Value;
        gbid('div4').innerText = sht.Cells(2,2).Value;
    }

    Extrahieren, die einem Bereich:

    var v = sht.Range(sht.Cells(1,1), sht.Cells(10,10)).Value;
    //or
    var v = sht.Range("A1:J10").Value;
    Das ist es! Das ist perfekt! Schade, ich bin gonna haben, um schreiben Sie eine Bande von Funktionen für alle links auf der Seite! lol, wünschte, es gäbe einen einfacheren Weg. Gut, ich bin sicher da ist, aber ich bin auf einen Termin und keine weitere Studie! Ich danke Ihnen sehr, Tim! Du hast mich gerettet! Ich kann nicht schreiben, positiv auf die Anzahl thinggy aber meine rep ist zu niedrig! Ich hoffe jemand anderes kann es für mich tun. Danke nochmals!
    Kein problem – vergessen Sie nicht (so wie ich) zum Schließen der Excel-Datei, wenn Sie fertig sind das kopieren von Daten.
    ist, die, Anwendung.beenden oder Excel.- Anwendung.in der Nähe? Sorry, wusste gar nicht, beim arbeiten mit Javascript, die wir hatten, um Sie zu schließen
    Um sicher zu sein: excel_file.Close() und dann excel.Quit()
    Hat nicht funktioniert. Ich vergaß zu überprüfen, die „Prozesse“ Registerkarte im Task-Manager aber wenn ich es Tat, es war über 75 excel docs noch offen. Ich setze es am Ende der Funktion, bin ich es in der falschen Stelle? Ich habe schon immer nahe legen.Dateien an das Ende, bis es eine Datei, die benötigt, um geladen werden, dann müsste es gehen in der front, damit keine Fehler passieren. aber das ist VB. Kopfschmerzen? Ich meine, irgendwelche Ideen?

    InformationsquelleAutor Tim Williams

Kostenlose Online-Tests