Kopieren und Verschieben von Arbeitsblättern mit JavaScript über C++
Manchmal benötigen Sie eine Reihe von Arbeitsblättern mit gemeinsamer Formatierung und Daten. Wenn Sie beispielsweise mit vierteljährlichen Budgets arbeiten, möchten Sie möglicherweise eine Arbeitsmappe erstellen, die Tabellenblätter mit denselben Spaltenüberschriften, Zeilenüberschriften und Formeln enthält. Es gibt eine Möglichkeit, das zu tun: Indem Sie ein Blatt erstellen und es dann kopieren.
Aspose.Cells for JavaScript über C++ unterstützt das Kopieren und Verschieben von Arbeitsblättern innerhalb oder zwischen Arbeitsbüchern. Arbeitsblätter, vollständig mit Daten, Formatierungen, Tabellen, Matrizen, Diagrammen, Bildern und anderen Objekten, werden mit höchster Genauigkeit kopiert.
Verschieben oder Kopieren von Blättern mit Microsoft Excel
Im Folgenden sind die Schritte für das Kopieren und Verschieben von Arbeitsblättern innerhalb oder zwischen Arbeitsmappen in Microsoft Excel aufgeführt.
- Um Blätter zu einem anderen Arbeitsmappen zu verschieben oder zu kopieren, öffnen Sie die Arbeitsmappe, die die Blätter empfangen wird.
- Wechseln Sie zum Arbeitsmappe, die die Blätter enthält, die Sie verschieben oder kopieren möchten, und wählen Sie dann die Blätter aus.
- Klicken Sie im Bearbeiten Menü auf Blatt verschieben oder kopieren.
- Klicken Sie im Dialogfeld Zu Arbeitsbuch auf das Arbeitsbuch, um die Blätter zu empfangen.
- Um die ausgewählten Blätter in ein neues Arbeitsbuch zu verschieben oder zu kopieren, klicken Sie auf Neues Buch.
- Wählen Sie im Feld ‘Vor Blatt’ das Blatt aus, vor dem Sie die verschobenen oder kopierten Blätter einfügen möchten.
- Um die Blätter zu kopieren anstatt sie zu verschieben, aktivieren Sie das Kontrollkästchen Kopie erstellen.
Arbeitsblätter innerhalb eines Arbeitsbuchs mit Aspose.Cells for JavaScript über C++ kopieren
Aspose.Cells stellt eine überladene Methode, Aspose.Cells.WorksheetCollection.addCopy(), bereit, die verwendet wird, um ein Arbeitsblatt zur Sammlung hinzuzufügen und Daten von einem vorhandenen Arbeitsblatt zu kopieren. Eine Version der Methode nimmt den Index des Quellarbeitsblatts als Parameter an. Die andere Version nimmt den Namen des Quellarbeitsblatts an.
Das folgende Beispiel zeigt, wie ein vorhandenes Arbeitsblatt innerhalb einer Arbeitsmappe kopiert wird.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example - Copy Sheet Within Workbook</title>
</head>
<body>
<h1>Copy Sheet Within Workbook 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, Utils } = 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');
const resultDiv = document.getElementById('result');
if (!fileInput.files.length) {
resultDiv.innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Open an existing Excel file.
const wb = new Workbook(new Uint8Array(arrayBuffer));
// Create a Worksheets object with reference to the sheets of the Workbook.
const sheets = wb.worksheets;
// Copy data to a new sheet from an existing sheet within the Workbook.
sheets.addCopy("Sheet1");
// Save the Excel file.
const outputData = wb.save(SaveFormat.Excel97To2003);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'CopyWithinWorkbook_out.xls';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Modified Excel File';
resultDiv.innerHTML = '<p style="color: green;">Sheet copied successfully! Click the download link to get the modified file.</p>';
});
</script>
</html>
Arbeitsblätter zwischen Arbeitsmappen kopieren
Aspose.Cells bietet eine Methode, Worksheet.copy(Worksheet), mit der Daten und Formatierungen von einem Quellarbeitsblatt auf ein anderes Arbeitsblatt innerhalb oder zwischen Arbeitsmappen kopiert werden. Die Methode nimmt das Quellarbeitsblatt-Objekt als Parameter.
Das folgende Beispiel zeigt, wie ein Arbeitsblatt von einer Arbeitsmappe in eine andere kopiert wird.
<!DOCTYPE html>
<html>
<head>
<title>Copy Worksheets Between Workbooks</title>
</head>
<body>
<h1>Copy Worksheets Between Workbooks</h1>
<p>Select the source Excel file (book1.xls) to copy its first worksheet into a new workbook.</p>
<input type="file" id="fileInput" accept=".xls,.xlsx" />
<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, Utils } = 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');
const resultDiv = document.getElementById('result');
resultDiv.innerHTML = '';
if (!fileInput.files.length) {
resultDiv.innerHTML = '<p style="color: red;">Please select an Excel file (book1.xls).</p>';
return;
}
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Create a Workbook from the uploaded file (source workbook)
const excelWorkbook0 = new Workbook(new Uint8Array(arrayBuffer));
// Create another Workbook (destination workbook)
const excelWorkbook1 = new Workbook();
// Copy the first sheet of the first book into second book.
excelWorkbook1.worksheets.get(0).copy(excelWorkbook0.worksheets.get(0));
// Save the file as Excel 97-2003 (.xls)
const outputData = excelWorkbook1.save(SaveFormat.Excel97To2003);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'CopyWorksheetsBetweenWorkbooks_out.xls';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Copied Workbook';
resultDiv.innerHTML = '<p style="color: green;">Worksheet copied successfully! Click the download link to get the modified file.</p>';
});
</script>
</html>
Das folgende Beispiel zeigt, wie ein Arbeitsblatt von einer Arbeitsmappe in eine andere kopiert wird.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Copy Worksheet Between Workbooks 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, Utils } = 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 () => {
// Create a new Workbook.
const excelWorkbook0 = new Workbook();
// Get the first worksheet in the book.
const ws0 = excelWorkbook0.worksheets.get(0);
// Put some data into header rows (A1:A4)
for (let i = 0; i < 5; i++) {
ws0.cells.get(i, 0).value = `Header Row ${i}`;
}
// Put some detail data (A5:A999)
for (let i = 5; i < 1000; i++) {
ws0.cells.get(i, 0).value = `Detail Row ${i}`;
}
// Define a pagesetup object based on the first worksheet.
const pagesetup = ws0.pageSetup;
// The first five rows are repeated in each page...
// It can be seen in print preview.
pagesetup.printTitleRows = "$1:$5";
// Create another Workbook.
const excelWorkbook1 = new Workbook();
// Get the first worksheet in the book.
const ws1 = excelWorkbook1.worksheets.get(0);
// Name the worksheet.
ws1.name = "MySheet";
// Copy data from the first worksheet of the first workbook into the
// first worksheet of the second workbook.
ws1.copy(ws0);
// Saving the modified Excel file
const outputData = excelWorkbook1.save(SaveFormat.Excel97To2003);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'CopyWorksheetFromWorkbookToOther_out.xls';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">Workbook created and worksheet copied successfully! Click the download link to get the file.</p>';
});
</script>
</html>
Arbeitsblätter innerhalb einer Arbeitsmappe verschieben
Aspose.Cells stellt die Methode Aspose.Cells.Worksheet.moveTo() bereit, um ein Arbeitsblatt an eine andere Stelle in derselben Tabelle zu verschieben. Die Methode nimmt den Zielarbeitsblattindex als Parameter.
Das folgende Beispiel zeigt, wie ein Arbeitsblatt an einen anderen Ort innerhalb der Arbeitsmappe verschoben wird.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Move Worksheet 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 (!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();
// Instantiating a Workbook object from uploaded file
const wb = new Workbook(new Uint8Array(arrayBuffer));
// Access worksheets collection
const sheets = wb.worksheets;
// Get the first worksheet
const worksheet = sheets.get(0);
// Move the first sheet to the third position (index 2)
worksheet.moveTo(2);
// Save the modified workbook in Excel97-2003 format
const outputData = wb.save(SaveFormat.Excel97To2003);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'MoveWorksheet_out.xls';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Modified Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">Worksheet moved successfully! Click the download link to get the modified file.</p>';
});
</script>
</html>