Verwalten von Daten von Excel Dateien

Wie man Daten zu Zellen hinzufügt

Aspose.Cells for JavaScript über C++ stellt die Klasse Workbook vor, die eine Microsoft Excel-Datei repräsentiert. Die Klasse Workbook enthält eine worksheets-Sammlung, die den Zugriff auf jedes Arbeitsblatt in der Excel-Datei ermöglicht. Ein Arbeitsblatt wird durch die Klasse Worksheet dargestellt. Die Klasse Worksheet bietet eine cells-Sammlung. Jedes Element in der cells-Sammlung repräsentiert ein Objekt der Klasse Cell.

Aspose.Cells erlaubt es Entwicklern, Daten durch Aufruf der Cell-Klasse-Methode putValue zu Zellen in Arbeitsblättern hinzuzufügen. Aspose.Cells bietet überladene Versionen der putValue-Methode, die Entwicklern erlauben, unterschiedliche Datentypen zu Zellen hinzuzufügen. Mit diesen überladenen Versionen der putValue-Methode können Boolean-, String-, Double-, Integer- oder Date-/Uhrzeitwerte in die Zelle eingefügt werden.

<!DOCTYPE html>
<html>
    <head>
        <title>Aspose.Cells Example</title>
    </head>
    <body>
        <h1>Aspose.Cells Example</h1>
        <input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
        <button id="runExample">Run Example</button>
        <a id="downloadLink" style="display: none;">Download Result</a>
        <div id="result"></div>
    </body>

    <script src="aspose.cells.js.min.js"></script>
    <script type="text/javascript">
        const { Workbook, SaveFormat } = AsposeCells;

        AsposeCells.onReady({
            license: "/lic/aspose.cells.enc",
            fontPath: "/fonts/",
            fontList: [
                "arial.ttf",
                "NotoSansSC-Regular.ttf"
            ]
        }).then(() => {
            console.log("Aspose.Cells initialized");
        });

        document.getElementById('runExample').addEventListener('click', async () => {
            const fileInput = document.getElementById('fileInput');
            // If a file is provided, open it; otherwise create a new workbook
            let workbook;
            if (fileInput.files.length) {
                const file = fileInput.files[0];
                const arrayBuffer = await file.arrayBuffer();
                workbook = new Workbook(new Uint8Array(arrayBuffer));
            } else {
                workbook = new Workbook();
            }

            // Obtaining the reference of the first worksheet
            const worksheet = workbook.worksheets.get(0);

            // Adding values to cells
            const cells = worksheet.cells;
            const cellA1 = cells.get("A1");
            cellA1.value = "Hello World";

            const cellA2 = cells.get("A2");
            cellA2.value = 20.5;

            const cellA3 = cells.get("A3");
            cellA3.value = 15;

            const cellA4 = cells.get("A4");
            cellA4.value = true;

            const cellA5 = cells.get("A5");
            cellA5.value = new Date();

            // Setting the display format of the date
            let style = cellA5.style;
            style.number = 15;
            cellA5.style = style;

            // Saving the Excel file
            const outputData = workbook.save(SaveFormat.Excel97To2003);
            const blob = new Blob([outputData]);
            const downloadLink = document.getElementById('downloadLink');
            downloadLink.href = URL.createObjectURL(blob);
            downloadLink.download = 'output.out.xls';
            downloadLink.style.display = 'block';
            downloadLink.textContent = 'Download Excel File';

            document.getElementById('result').innerHTML = '<p style="color: green;">Workbook created/modified successfully. Click the download link to get the file.</p>';
        });
    </script>
</html>

Wie man die Effizienz verbessert

Wenn Sie die putValue-Methode verwenden, um eine große Datenmenge in ein Arbeitsblatt einzufügen, sollten Sie zuerst Werte zeilenweise und dann spaltenweise hinzufügen. Dieser Ansatz verbessert die Effizienz Ihrer Anwendungen erheblich.

Wie man Daten von Zellen abruft

Aspose.Cells for JavaScript via C++ bietet eine Klasse, Workbook, die eine Microsoft Excel-Datei darstellt. Die Workbook-Klasse enthält eine worksheets-Sammlung, die Zugriff auf die Arbeitsblätter in der Datei ermöglicht. Ein Arbeitsblatt wird durch die Worksheet-Klasse dargestellt. Die Worksheet-Klasse bietet eine cells-Sammlung. Jedes Element in der cells-Sammlung repräsentiert ein Objekt der Cell-Klasse.

Die Cell-Klasse bietet mehrere Eigenschaften, mit denen Entwickler Werte aus Zellen entsprechend ihrem Datentyp abrufen können. Diese Eigenschaften umfassen:

  • stringValue: gibt den String-Wert der Zelle zurück.
  • doubleValue: Gibt den doppelten Wert der Zelle zurück.
  • boolValue: Gibt den booleschen Wert der Zelle zurück.
  • dateTimeValue: Gibt den Datum/Uhrzeit-Wert der Zelle zurück.
  • floatValue: Gibt den Fließkomma-Wert der Zelle zurück.
  • intValue: Gibt den Ganzzahlwert der Zelle zurück.

Wenn ein Feld nicht ausgefüllt ist, werfen Zellen mit doubleValue oder floatValue eine Ausnahme.

Der Typ der in einer Zelle enthaltenen Daten kann auch durch Verwendung der Cell-Klasse' type-Methode überprüft werden. Tatsächlich basiert die Cell-Klasse' type-Methode auf der CellValueType-Aufzählung, deren vordefinierte Werte unten aufgelistet sind:

Zellwerttypen Beschreibung
IsBool Gibt an, dass der Zellenwert Boolean ist.
IsDateTime Gibt an, dass der Zellenwert Datum/Uhrzeit ist.
IsNull Stellt eine leere Zelle dar.
IsNumeric Gibt an, dass der Zellenwert numerisch ist.
IsString Gibt an, dass der Zellenwert eine Zeichenfolge ist.
IsUnknown Gibt an, dass der Zellenwert unbekannt ist.

Sie können auch die oben definierten Standard-Zellwerttypen verwenden, um sie mit dem Datentyp in jeder Zelle zu vergleichen.

<!DOCTYPE html>
<html>
    <head>
        <title>Aspose.Cells Example</title>
    </head>
    <body>
        <h1>Read Cell Values Example</h1>
        <input type="file" id="fileInput" accept=".xls,.xlsx,.csv" />
        <button id="runExample">Run Example</button>
        <a id="downloadLink" style="display: none;">Download Result</a>
        <div id="result"></div>
    </body>

    <script src="aspose.cells.js.min.js"></script>
    <script type="text/javascript">
        const { Workbook, SaveFormat, Worksheet, Cell } = AsposeCells;

        AsposeCells.onReady({
            license: "/lic/aspose.cells.enc",
            fontPath: "/fonts/",
            fontList: [
                "arial.ttf",
                "NotoSansSC-Regular.ttf"
            ]
        }).then(() => {
            console.log("Aspose.Cells initialized");
        });

        document.getElementById('runExample').addEventListener('click', async () => {
            const fileInput = document.getElementById('fileInput');
            if (!fileInput.files.length) {
                document.getElementById('result').innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
                return;
            }

            const file = fileInput.files[0];
            const arrayBuffer = await file.arrayBuffer();

            // Opening an existing workbook from uploaded file
            const workbook = new Workbook(new Uint8Array(arrayBuffer));

            // Accessing first worksheet
            const worksheet = workbook.worksheets.get(0);

            var cells = worksheet.cells;
            var maxRow = cells.maxRow;
            var maxColumn = cells.maxColumn;
            let logs = [];
            for (let i = 0; i <= maxRow; i++) {
                for (let j = 0; j <= maxColumn; j++) 
                {
                    const cell1 = cells.get(i, j);
                    if (!cell1) {
                        continue;
                    }
                    // Variables to store values of different data types
                    let stringValue;
                    let doubleValue;
                    let boolValue;
                    let dateTimeValue;

                    // Passing the type of the data contained in the cell for evaluation
                    switch (cell1.type) {
                        // Evaluating the data type of the cell data for string value
                        case AsposeCells.CellValueType.IsString:
                            stringValue = cell1.stringValue;
                            console.log("String Value: " + stringValue);
                            logs.push("String Value: " + stringValue);
                            break;

                        // Evaluating the data type of the cell data for double value
                        case AsposeCells.CellValueType.IsNumeric:
                            doubleValue = cell1.doubleValue;
                            console.log("Double Value: " + doubleValue);
                            logs.push("Double Value: " + doubleValue);
                            break;

                        // Evaluating the data type of the cell data for boolean value
                        case AsposeCells.CellValueType.IsBool:
                            boolValue = cell1.boolValue;
                            console.log("Bool Value: " + boolValue);
                            logs.push("Bool Value: " + boolValue);
                            break;

                        // Evaluating the data type of the cell data for date/time value
                        case AsposeCells.CellValueType.IsDateTime:
                            dateTimeValue = cell1.dateTimeValue;
                            console.log("DateTime Value: " + dateTimeValue);
                            logs.push("DateTime Value: " + dateTimeValue);
                            break;

                        // Evaluating the unknown data type of the cell data
                        case AsposeCells.CellValueType.IsUnknown:
                            stringValue = cell1.stringValue;
                            console.log("Unknown Value: " + stringValue);
                            logs.push("Unknown Value: " + stringValue);
                            break;

                        // Terminating the type checking of type of the cell data is null
                        case AsposeCells.CellValueType.IsNull:
                            break;
                    }
                }
            }

            document.getElementById('result').innerHTML = `<p style="color: green;">Operation completed successfully! See console for detailed cell values.</p><pre>${logs.join("\n")}</pre>`;
        });
    </script>
</html>

Erweiterte Themen