Erstellen und verwalten Sie Tabellen von Microsoft Excel Dateien mit JavaScript via C++
Tabelle erstellen
Einer der Vorteile von Tabellenkalkulationen besteht darin, dass Sie verschiedene Arten von Listen erstellen können, beispielsweise Telefonlisten, Aufgabenlisten, Listen von Transaktionen, Vermögenswerten oder Verbindlichkeiten. Mehrere Benutzer können zusammenarbeiten, um verschiedene Listen zu verwenden, zu erstellen und zu pflegen.
Aspose.Cells unterstützt das Erstellen und Verwalten von Listen.
Vorteile eines Listenobjekts
Es gibt einige Vorteile, wenn Sie eine Liste von Daten in ein tatsächliches Listenobjekt konvertieren.
- Neue Zeilen und Spalten werden automatisch einbezogen.
- Am unteren Rand Ihrer Liste kann ganz einfach eine Gesamtzeile hinzugefügt werden, um SUMME, DURCHSCHNITT, ANZAHL usw. anzuzeigen.
- Hinzugefügte Spalten rechts werden automatisch in das Listenobjekt aufgenommen.
- Diagramme, die auf Zeilen und Spalten basieren, werden automatisch erweitert.
- Benannte Bereiche, die Zeilen und Spalten zugeordnet sind, werden automatisch erweitert.
- Die Liste ist vor versehentlichem Löschen von Zeilen und Spalten geschützt.
Erstellen eines Listenobjekts mit Microsoft Excel
- Auswahl des Datenbereichs für die Erstellung eines List-Objekts
- Dies zeigt den Dialog zum Erstellen einer Liste an.
- Implementieren Sie das List-Objekt für die Daten und geben Sie die Gesamtzeile an (Wählen Sie Daten, dann Liste, gefolgt von Gesamtzeile).
Verwendung der Aspose.Cells-API
Aspose.Cells bietet eine Klasse, Workbook, die eine Microsoft Excel-Datei repräsentiert. Die Klasse Workbook enthält eine worksheets-Sammlung, die den Zugriff auf jedes Arbeitsblatt in einer Excel-Datei ermöglicht.
Ein Arbeitsblatt wird durch die Worksheet-Klasse dargestellt. Die Worksheet-Klasse bietet eine Vielzahl von Eigenschaften und Methoden zur Verwaltung eines Arbeitsblatts. Um ein ListObject in einem Arbeitsblatt zu erstellen, verwenden Sie die listObjects-Sammlungseigenschaft der Worksheet-Klasse. Jedes ListObject ist in Wirklichkeit ein Objekt der ListObjectCollection-Klasse, die weiterhin die add(number, number, number, number, boolean)-Methode zum Hinzufügen eines List-Objekts und zur Angabe eines Zellbereichs für die Liste bereitstellt.
Gemäß dem angegebenen Zellbereich wird das List-Objekt von Aspose.Cells erstellt. Verwenden Sie Attribute (zum Beispiel showTotals, listColumns usw.) der ListObject-Klasse, um die Liste zu steuern.
Im untenstehenden Beispiel haben wir dasselbe ListObject mit der Aspose.Cells-API erstellt, wie wir im vorherigen Abschnitt mit Microsoft Excel erstellt haben.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells ListObjects Example</title>
</head>
<body>
<h1>ListObjects 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, TotalsCalculation } = 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();
const workbook = new Workbook(new Uint8Array(arrayBuffer));
const listObjects = workbook.worksheets.get(0).listObjects;
listObjects.add(1, 1, 7, 5, true);
const firstList = listObjects.get(0);
firstList.showTotals = true;
firstList.listColumns.get(4).totalsCalculation = TotalsCalculation.Sum;
const outputData = workbook.save(SaveFormat.Excel97To2003);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'output.xls';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Modified Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">List created and totals calculated successfully! Click the download link to get the modified file.</p>';
});
</script>
</html>
Formatieren einer Tabelle
Um eine Gruppe von verwandten Daten zu verwalten und zu analysieren, ist es möglich, einen Bereich von Zellen in ein Listenobjekt (auch bekannt als Excel-Tabelle) umzuwandeln. Eine Tabelle ist eine Reihe von Zeilen und Spalten, die verwandte Daten enthalten und unabhängig von den Daten in anderen Zeilen und Spalten verwaltet werden. Standardmäßig ist in jeder Spalte der Tabelle in der Kopfzeile die Filterung aktiviert, sodass Sie Ihre Listenaufzugsdaten schnell filtern oder sortieren können. Sie können eine Gesamtzeile (eine spezielle Zeile in einer Liste, die eine Auswahl von Aggregatfunktionen bereitstellt, die für die Arbeit mit numerischen Daten nützlich sind) zu dem Listenobjekt hinzufügen, um eine Dropdown-Liste von Aggregatfunktionen für jede Zellen in der Gesamtzeile bereitzustellen. Aspose.Cells bietet Optionen zum Erstellen und Verwalten von Listen (oder Tabellen).
Formatierung eines Listenobjekts
Aspose.Cells bietet eine Klasse, Workbook, die eine Microsoft Excel-Datei repräsentiert. Die Klasse Workbook enthält eine worksheets-Sammlung, die den Zugriff auf jedes Arbeitsblatt in einer Excel-Datei ermöglicht.
Ein Arbeitsblatt wird durch die Worksheet-Klasse dargestellt. Die Worksheet-Klasse bietet eine Vielzahl von Eigenschaften und Methoden zur Verwaltung von Arbeitsblättern. Um ein ListObject in einem Arbeitsblatt zu erstellen, verwenden Sie die listObjects-Sammlungseigenschaft der Worksheet-Klasse. Jedes ListObject ist in Wirklichkeit ein Objekt der ListObjectCollection-Klasse, die die add(number, number, number, number, boolean)-Methode zum Hinzufügen eines List-Objekts und zur Angabe des Zellbereichs bereitstellt. Gemäß dem spezifizierten Zellbereich wird in dem Arbeitsblatt durch Aspose.Cells ein ListObject erstellt. Verwenden Sie Attribute (zum Beispiel TableStyleType) der ListObject-Klasse, um die Tabelle entsprechend Ihren Anforderungen zu formatieren.
Das folgende Beispiel fügt einem Arbeitsblatt Beispieldaten hinzu, fügt ein ListObject hinzu und wendet Standardstile darauf an. ListObject-Stile werden von Microsoft Excel 2007/2010 unterstützt.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Aspose.Cells ListObject 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 () => {
// This example does not require an input file; it creates a new workbook
const workbook = new Workbook();
// Obtaining the reference of the default(first) worksheet
const sheet = workbook.worksheets.get(0);
// Obtaining Worksheet's cells collection
const cells = sheet.cells;
// Setting the value to the cells (converted putValue -> value)
cells.get(1, 1).value = "Employee";
cells.get(1, 2).value = "Quarter";
cells.get(1, 3).value = "Product";
cells.get(1, 4).value = "Continent";
cells.get(1, 5).value = "Country";
cells.get(1, 6).value = "Sale";
cells.get(2, 1).value = "David";
cells.get(3, 1).value = "David";
cells.get(4, 1).value = "David";
cells.get(5, 1).value = "David";
cells.get(6, 1).value = "James";
cells.get(7, 1).value = "James";
cells.get(8, 1).value = "James";
cells.get(9, 1).value = "James";
cells.get(10, 1).value = "James";
cells.get(11, 1).value = "Miya";
cells.get(12, 1).value = "Miya";
cells.get(13, 1).value = "Miya";
cells.get(14, 1).value = "Miya";
cells.get(15, 1).value = "Miya";
cells.get(2, 2).value = 1;
cells.get(3, 2).value = 2;
cells.get(4, 2).value = 3;
cells.get(5, 2).value = 4;
cells.get(6, 2).value = 1;
cells.get(7, 2).value = 2;
cells.get(8, 2).value = 3;
cells.get(9, 2).value = 4;
cells.get(10, 2).value = 4;
cells.get(11, 2).value = 1;
cells.get(12, 2).value = 1;
cells.get(13, 2).value = 2;
cells.get(14, 2).value = 2;
cells.get(15, 2).value = 2;
cells.get(2, 3).value = "Maxilaku";
cells.get(3, 3).value = "Maxilaku";
cells.get(4, 3).value = "Chai";
cells.get(5, 3).value = "Maxilaku";
cells.get(6, 3).value = "Chang";
cells.get(7, 3).value = "Chang";
cells.get(8, 3).value = "Chang";
cells.get(9, 3).value = "Chang";
cells.get(10, 3).value = "Chang";
cells.get(11, 3).value = "Geitost";
cells.get(12, 3).value = "Chai";
cells.get(13, 3).value = "Geitost";
cells.get(14, 3).value = "Geitost";
cells.get(15, 3).value = "Geitost";
cells.get(2, 4).value = "Asia";
cells.get(3, 4).value = "Asia";
cells.get(4, 4).value = "Asia";
cells.get(5, 4).value = "Asia";
cells.get(6, 4).value = "Europe";
cells.get(7, 4).value = "Europe";
cells.get(8, 4).value = "Europe";
cells.get(9, 4).value = "Europe";
cells.get(10, 4).value = "Europe";
cells.get(11, 4).value = "America";
cells.get(12, 4).value = "America";
cells.get(13, 4).value = "America";
cells.get(14, 4).value = "America";
cells.get(15, 4).value = "America";
cells.get(2, 5).value = "China";
cells.get(3, 5).value = "India";
cells.get(4, 5).value = "Korea";
cells.get(5, 5).value = "India";
cells.get(6, 5).value = "France";
cells.get(7, 5).value = "France";
cells.get(8, 5).value = "Germany";
cells.get(9, 5).value = "Italy";
cells.get(10, 5).value = "France";
cells.get(11, 5).value = "U.S.";
cells.get(12, 5).value = "U.S.";
cells.get(13, 5).value = "Brazil";
cells.get(14, 5).value = "U.S.";
cells.get(15, 5).value = "U.S.";
cells.get(2, 6).value = 2000;
cells.get(3, 6).value = 500;
cells.get(4, 6).value = 1200;
cells.get(5, 6).value = 1500;
cells.get(6, 6).value = 500;
cells.get(7, 6).value = 1500;
cells.get(8, 6).value = 800;
cells.get(9, 6).value = 900;
cells.get(10, 6).value = 500;
cells.get(11, 6).value = 1600;
cells.get(12, 6).value = 600;
cells.get(13, 6).value = 2000;
cells.get(14, 6).value = 500;
cells.get(15, 6).value = 900;
// Adding a new List Object to the worksheet
const index = sheet.listObjects.add("A1", "F15", true);
const listObject = sheet.listObjects.get(index);
// Adding Default Style to the table (converted setter -> property)
listObject.tableStyleType = AsposeCells.TableStyleType.TableStyleMedium10;
// Show Total
listObject.showTotals = true;
// Set the Quarter field's calculation type (converted getter/setter -> property)
listObject.listColumns.get(1).totalsCalculation = AsposeCells.TotalsCalculation.Count;
// Saving the Excel file
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'output.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">Workbook created and table added successfully! Click the download link to get the file.</p>';
});
</script>
</html>