Heim Web-Frontend js-Tutorial So verwenden Sie s-xlsx zum Importieren und Exportieren von Excel-Dateien (Teil 1)

So verwenden Sie s-xlsx zum Importieren und Exportieren von Excel-Dateien (Teil 1)

Mar 12, 2018 pm 02:37 PM
excel 实现

Dieses Mal zeige ich Ihnen, wie Sie s-xlsx zum Importieren und Exportieren von Excel-Dateien verwenden. Welche Vorsichtsmaßnahmen bei der Verwendung von s-xlsx zum Importieren und Exportieren von Excel-Dateien gelten . Werfen wir einen Blick darauf.

Funktionsimplementierung importieren

js-xlsx in dist herunterladen, xlsx.full.min.js kopieren und in die Seite einfügen
Dann die Datei über das FileReader-Objekt lesen Verwenden Sie js-xlsx, um JSON-Daten zu konvertieren.
Code-Implementierung (==> Beispiel <==) -xlsx

Code-Implementierung (==>Beispiel<==)
<!DOCTYPE html><html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="http://oss.sheetjs.com/js-xlsx/xlsx.full.min.js"></script>
    </head>
    <body>
        <input type="file"onchange="importf(this)" />
        <p id="demo"></p>
        <script>
            /*
            FileReader共有4种读取方法:
            1.readAsArrayBuffer(file):将文件读取为ArrayBuffer。
            2.readAsBinaryString(file):将文件读取为二进制字符串
            3.readAsDataURL(file):将文件读取为Data URL
            4.readAsText(file, [encoding]):将文件读取为文本,encoding缺省值为&#39;UTF-8&#39;
                         */
            var wb;//读取完成的数据
            var rABS = false; //是否将文件读取为二进制字符串
            function importf(obj) {//导入
                if(!obj.files) {                    return;
                }                var f = obj.files[0];                var reader = new FileReader();
                reader.onload = function(e) {                    var data = e.target.result;                    if(rABS) {
                        wb = XLSX.read(btoa(fixdata(data)), {//手动转化
                            type: &#39;base64&#39;
                        });
                    } else {
                        wb = XLSX.read(data, {                            type: &#39;binary&#39;
                        });
                    }                    //wb.SheetNames[0]是获取Sheets中第一个Sheet的名字
                    //wb.Sheets[Sheet名]获取第一个Sheet的数据
                    document.getElementById("demo").innerHTML= JSON.stringify( XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]]) );
                };                if(rABS) {
                    reader.readAsArrayBuffer(f);
                } else {
                    reader.readAsBinaryString(f);
                }
            }            function fixdata(data) { //文件流转BinaryString
                var o = "",
                    l = 0,
                    w = 10240;                for(; l < data.byteLength / w; ++l) o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w, l * w + w)));
                o += String.fromCharCode.apply(null, new Uint8Array(data.slice(l * w)));                return o;
            }        </script>
    </body></html>
Nach dem Login kopieren

3. Verwenden Sie Python, um Excel in Json zu konvertieren, um Testdaten zu erstellen


Code

<!DOCTYPE html><html><head>
    <meta charset="UTF-8">
    <title></title>
    <script src="http://oss.sheetjs.com/js-xlsx/xlsx.full.min.js"></script></head><body>
    <button onclick="downloadExl(jsono)">导出</button>
    <!--
            以下a标签不需要内容
        -->
    <a href="" download="这里是下载的文件名.xlsx" id="hf"></a>
    <script>
        var jsono = [{ //测试数据
            "保质期临期预警(天)": "adventLifecycle",            "商品标题": "title",            "建议零售价": "defaultPrice",            "高(cm)": "height",            "商品描述": "Description",            "保质期禁售(天)": "lockupLifecycle",            "商品名称": "skuName",            "商品简介": "brief",            "宽(cm)": "width",            "阿达": "asdz",            "货号": "goodsNo",            "商品条码": "skuNo",            "商品品牌": "brand",            "净容积(cm^3)": "netVolume",            "是否保质期管理": "isShelfLifeMgmt",            "是否串号管理": "isSNMgmt",            "商品颜色": "color",            "尺码": "size",            "是否批次管理": "isBatchMgmt",            "商品编号": "skuCode",            "商品简称": "shortName",            "毛重(g)": "grossWeight",            "长(cm)": "length",            "英文名称": "englishName",            "净重(g)": "netWeight",            "商品分类": "categoryId",            "这里超过了": 1111.0,            "保质期(天)": "expDate"
        }];        var tmpDown; //导出的二进制对象
        function downloadExl(json, type) {            var tmpdata = json[0];
            json.unshift({});            var keyMap = []; //获取keys
            //keyMap =Object.keys(json[0]);
            for (var k in tmpdata) {
                keyMap.push(k);
                json[0][k] = k;
            }          var tmpdata = [];//用来保存转换好的json 
                json.map((v, i) => keyMap.map((k, j) => Object.assign({}, {                    v: v[k],                    position: (j > 25 ? getCharCol(j) : String.fromCharCode(65 + j)) + (i + 1)
                }))).reduce((prev, next) => prev.concat(next)).forEach((v, i) => tmpdata[v.position] = {                    v: v.v
                });                var outputPos = Object.keys(tmpdata); //设置区域,比如表格从A1到D10
                var tmpWB = {                    SheetNames: [&#39;mySheet&#39;], //保存的表标题
                    Sheets: {                        &#39;mySheet&#39;: Object.assign({},
                            tmpdata, //内容
                            {                                &#39;!ref&#39;: outputPos[0] + &#39;:&#39; + outputPos[outputPos.length - 1] //设置填充区域
                            })
                    }
                };
                tmpDown = new Blob([s2ab(XLSX.write(tmpWB, 
                    {bookType: (type == undefined ? &#39;xlsx&#39;:type),bookSST: false, type: &#39;binary&#39;}//这里的数据是用来定义导出的格式类型
                    ))], {                    type: ""
                }); //创建二进制对象写入转换好的字节流
            var href = URL.createObjectURL(tmpDown); //创建对象超链接
            document.getElementById("hf").href = href; //绑定a标签
            document.getElementById("hf").click(); //模拟点击实现下载
            setTimeout(function() { //延时释放
                URL.revokeObjectURL(tmpDown); //用URL.revokeObjectURL()来释放这个object URL
            }, 100);
        }        function s2ab(s) { //字符串转字符流
            var buf = new ArrayBuffer(s.length);            var view = new Uint8Array(buf);            for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;            return buf;
        }         // 将指定的自然数转换为26进制表示。映射关系:[0-25] -> [A-Z]。
        function getCharCol(n) {            let temCol = &#39;&#39;,
            s = &#39;&#39;,
            m = 0
            while (n > 0) {
                m = n % 26 + 1
                s = String.fromCharCode(m + 64) + s
                n = (n - m) / 26
            }            return s
        }    </script></body></html>
Nach dem Login kopieren

Die Testdaten des exportierten Beispiels enthalten bereits Header. Wenn kein Header vorhanden ist, können Sie direkt einen Wert = Schlüssel ({Schlüssel: Schlüssel}) für den Schlüssel erstellen, der das erste Datenelement in JSON durchläuft, und einfügen Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website.

Verwandte Lektüre:

import sysimport xlrdimport json 
file =sys.argv[1] 
data = xlrd.open_workbook(file)
table=data.sheets()[0]def haveNoIndex(table):
    returnData=[]
    keyMap=table.row_values(0) 
    for i in range(table.nrows):#row
        tmpmp={}
        tmpInd=0
        for k in table.row_values(i): 
            tmpmp[keyMap[tmpInd]]=k
            tmpInd=tmpInd+1  
        returnData.append(tmpmp);    return json.dumps(returnData,ensure_ascii=False,indent=2)
returnJson= haveNoIndex(table) 
fp = open(file+".json","w",encoding=&#39;utf-8&#39;)
fp.write(returnJson)
fp.close()
Nach dem Login kopieren

Eine Website, die NodeJS zur Einführung verwendet

So fügen Sie Element-UI-Komponenten zu Vue hinzu


So erstellen Sie einen 1-Pixel-Randeffekt auf Mobilgeräten

Das obige ist der detaillierte Inhalt vonSo verwenden Sie s-xlsx zum Importieren und Exportieren von Excel-Dateien (Teil 1). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was soll ich tun, wenn die Rahmenlinie beim Drucken in Excel verschwindet? Was soll ich tun, wenn die Rahmenlinie beim Drucken in Excel verschwindet? Mar 21, 2024 am 09:50 AM

Wenn wir beim Öffnen einer Datei, die gedruckt werden muss, feststellen, dass die Tabellenrahmenlinie aus irgendeinem Grund in der Druckvorschau verschwunden ist, müssen wir uns rechtzeitig darum kümmern, wenn dies auch in Ihrem Ausdruck erscheint file Wenn Sie Fragen wie diese haben, dann schließen Sie sich dem Editor an, um den folgenden Kurs zu erlernen: Was soll ich tun, wenn die Rahmenlinie beim Drucken einer Tabelle in Excel verschwindet? 1. Öffnen Sie eine Datei, die gedruckt werden muss, wie in der Abbildung unten gezeigt. 2. Wählen Sie alle erforderlichen Inhaltsbereiche aus, wie in der Abbildung unten dargestellt. 3. Klicken Sie mit der rechten Maustaste und wählen Sie die Option „Zellen formatieren“, wie in der Abbildung unten gezeigt. 4. Klicken Sie oben im Fenster auf die Option „Rahmen“, wie in der Abbildung unten gezeigt. 5. Wählen Sie links das dünne, durchgezogene Linienmuster im Linienstil aus, wie in der Abbildung unten gezeigt. 6. Wählen Sie „Äußerer Rand“

So filtern Sie in Excel mehr als 3 Schlüsselwörter gleichzeitig So filtern Sie in Excel mehr als 3 Schlüsselwörter gleichzeitig Mar 21, 2024 pm 03:16 PM

Excel wird im Büroalltag häufig zur Verarbeitung von Daten verwendet und es ist oft notwendig, die Funktion „Filter“ zu nutzen. Wenn wir uns für die „Filterung“ in Excel entscheiden, können wir nur bis zu zwei Bedingungen für dieselbe Spalte filtern. Wissen Sie also, wie man in Excel mehr als drei Schlüsselwörter gleichzeitig filtert? Lassen Sie mich es Ihnen als Nächstes demonstrieren. Die erste Methode besteht darin, die Bedingungen schrittweise zum Filter hinzuzufügen. Wenn Sie drei qualifizierende Details gleichzeitig herausfiltern möchten, müssen Sie zunächst eines davon Schritt für Schritt herausfiltern. Zu Beginn können Sie anhand der Konditionen zunächst Mitarbeiter mit dem Namen „Wang“ herausfiltern. Klicken Sie dann auf [OK] und aktivieren Sie dann in den Filterergebnissen die Option [Aktuelle Auswahl zum Filter hinzufügen]. Die Schritte sind wie folgt. Führen Sie die Filterung ebenfalls separat erneut durch

So ändern Sie den Kompatibilitätsmodus für Excel-Tabellen in den Normalmodus So ändern Sie den Kompatibilitätsmodus für Excel-Tabellen in den Normalmodus Mar 20, 2024 pm 08:01 PM

Bei unserer täglichen Arbeit und beim Lernen kopieren wir Excel-Dateien von anderen, öffnen sie, um Inhalte hinzuzufügen oder sie erneut zu bearbeiten, und speichern sie dann. Manchmal wird ein Dialogfeld zur Kompatibilitätsprüfung angezeigt, was sehr problematisch ist Software, kann es in den Normalmodus geändert werden? Im Folgenden wird Ihnen der Herausgeber detaillierte Schritte zur Lösung dieses Problems vorstellen. Lassen Sie uns gemeinsam lernen. Denken Sie abschließend daran, es zu speichern. 1. Öffnen Sie ein Arbeitsblatt und zeigen Sie im Namen des Arbeitsblatts einen zusätzlichen Kompatibilitätsmodus an, wie in der Abbildung dargestellt. 2. In diesem Arbeitsblatt wird nach dem Ändern des Inhalts und dem Speichern immer das Dialogfeld des Kompatibilitätsprüfers angezeigt. Es ist sehr schwierig, diese Seite zu sehen, wie in der Abbildung gezeigt. 3. Klicken Sie auf die Office-Schaltfläche, klicken Sie auf Speichern unter und dann

So setzen Sie in Excel hochgestellt So setzen Sie in Excel hochgestellt Mar 20, 2024 pm 04:30 PM

Bei der Verarbeitung von Daten stoßen wir manchmal auf Daten, die verschiedene Symbole wie Vielfache, Temperaturen usw. enthalten. Wissen Sie, wie man in Excel hochgestellte Zeichen setzt? Wenn wir Excel zum Verarbeiten von Daten verwenden und keine hochgestellten Zeichen setzen, wird die Eingabe vieler unserer Daten schwieriger. Heute stellt Ihnen der Editor die spezifische Einstellungsmethode für Excel-Hochstellung vor. 1. Öffnen wir zunächst das Microsoft Office Excel-Dokument auf dem Desktop und wählen Sie den Text aus, der hochgestellt werden soll, wie in der Abbildung gezeigt. 2. Klicken Sie dann mit der rechten Maustaste und wählen Sie die Option „Zellen formatieren“ im Menü, das nach dem Klicken erscheint, wie in der Abbildung gezeigt. 3. Als nächstes im Dialogfeld „Zellen formatieren“, das automatisch angezeigt wird

So verwenden Sie die iif-Funktion in Excel So verwenden Sie die iif-Funktion in Excel Mar 20, 2024 pm 06:10 PM

Die meisten Benutzer verwenden Excel, um Tabellendaten zu verarbeiten. Abgesehen von Experten haben nicht viele Benutzer diese Funktion beim Schreiben in VBA verwendet Die Funktionen der Funktionen sind ähnlich. Lassen Sie mich Ihnen die Verwendung der iif-Funktion vorstellen. Es gibt iif-Funktionen in SQL-Anweisungen und VBA-Code in Excel. Die iif-Funktion ähnelt der IF-Funktion im Excel-Arbeitsblatt. Sie führt eine Beurteilung von wahren und falschen Werten durch und gibt unterschiedliche Ergebnisse basierend auf den logisch berechneten wahren und falschen Werten zurück. IF-Funktionsverwendung ist (Bedingung, ja, nein). IF-Anweisung und IIF-Funktion in VBA Die erstere IF-Anweisung ist eine Steueranweisung, die je nach Bedingungen unterschiedliche Anweisungen ausführen kann, während die letztere

Wo wird der Excel-Lesemodus eingestellt? Wo wird der Excel-Lesemodus eingestellt? Mar 21, 2024 am 08:40 AM

Beim Studium von Software sind wir es gewohnt, Excel zu verwenden, nicht nur, weil es praktisch ist, sondern auch, weil es eine Vielzahl von Formaten erfüllen kann, die in der tatsächlichen Arbeit benötigt werden, und Excel sehr flexibel zu verwenden ist, und es gibt einen Modus dafür Praktisch zum Lesen. Heute habe ich für alle mitgebracht: Wo man den Excel-Lesemodus einstellt. 1. Schalten Sie den Computer ein, öffnen Sie dann die Excel-Anwendung und suchen Sie die Zieldaten. 2. Es gibt zwei Möglichkeiten, den Lesemodus in Excel festzulegen. Der erste: In Excel gibt es eine Vielzahl praktischer Verarbeitungsmethoden, die im Excel-Layout verteilt sind. In der unteren rechten Ecke von Excel gibt es eine Verknüpfung zum Festlegen des Lesemodus. Klicken Sie darauf, um in den Lesemodus zu gelangen. Auf der rechten Seite des Kreuzstrichs befindet sich eine kleine dreidimensionale Markierung .

So fügen Sie Excel-Symbole in PPT-Folien ein So fügen Sie Excel-Symbole in PPT-Folien ein Mar 26, 2024 pm 05:40 PM

1. Öffnen Sie die PPT und blättern Sie zu der Seite, auf der Sie das Excel-Symbol einfügen müssen. Klicken Sie auf die Registerkarte Einfügen. 2. Klicken Sie auf [Objekt]. 3. Das folgende Dialogfeld wird angezeigt. 4. Klicken Sie auf [Aus Datei erstellen] und dann auf [Durchsuchen]. 5. Wählen Sie die einzufügende Excel-Tabelle aus. 6. Klicken Sie auf OK und die folgende Seite wird angezeigt. 7. Aktivieren Sie [Als Symbol anzeigen]. 8. Klicken Sie auf OK.

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mar 24, 2024 am 11:27 AM

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mit dem Aufkommen der sozialen Medien ist WeChat zu einem unverzichtbaren Kommunikationsmittel im täglichen Leben der Menschen geworden. Viele Menschen können jedoch auf ein Problem stoßen: Sie können sich gleichzeitig auf demselben Mobiltelefon bei mehreren WeChat-Konten anmelden. Für Huawei-Mobiltelefonbenutzer ist es nicht schwierig, eine doppelte WeChat-Anmeldung zu erreichen. In diesem Artikel wird erläutert, wie eine doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen erreicht wird. Erstens bietet das EMUI-System, das mit Huawei-Mobiltelefonen geliefert wird, eine sehr praktische Funktion – das doppelte Öffnen von Anwendungen. Durch die doppelte Öffnungsfunktion der Anwendung können Benutzer gleichzeitig

See all articles