Gestione delle interruzioni di pagina con JavaScript tramite C++
Secondo la definizione, un’interruzione di pagina è un punto in un flusso di testo in cui termina una pagina e inizia la successiva. Microsoft Excel consente agli utenti di aggiungere interruzioni di pagina in qualsiasi cella selezionata di un foglio di lavoro.
La posizione della cella in cui viene aggiunta l’interruzione di pagina, la pagina termina e il resto dei dati dopo l’interruzione di pagina viene stampato sulla pagina successiva durante la stampa. In parole semplici, le interruzioni di pagina dividono il foglio di lavoro in più pagine in base alle specifiche. È inoltre possibile aggiungere interruzioni di pagina ai fogli di lavoro durante l’esecuzione utilizzando Aspose.Cells. Aspose.Cells consente agli sviluppatori di aggiungere due tipi di interruzioni di pagina:
- Interruzione di pagina orizzontale
- Interruzione di pagina verticale
Nel resto della discussione, descriveremo come è possibile aggiungere interruzioni di pagina orizzontali o verticali ai fogli di lavoro utilizzando Aspose.Cells.
Interruzioni di pagina
Aspose.Cells for JavaScript tramite C++ fornisce una classe Workbook che rappresenta un file Excel. La classe Workbook contiene una collezione workbook.worksheets che consente l’accesso a ciascun foglio di lavoro nel file Excel.
Un foglio di lavoro è rappresentato dalla classe Worksheet. La classe Worksheet fornisce una vasta gamma di proprietà e metodi utilizzati per gestire un foglio di lavoro.
Per aggiungere le interruzioni di pagina, utilizzare le proprietà Worksheet e worksheet.horizontalPageBreaks della classe worksheet.verticalPageBreaks.
Le proprietà worksheet.horizontalPageBreaks e worksheet.verticalPageBreaks sono collezioni che possono contenere diverse interruzioni di pagina. Ogni collezione contiene diversi metodi per gestire interruzioni di pagina orizzontali e verticali.
Aggiunta dei salti di pagina
Per aggiungere un’interruzione di pagina in un foglio di lavoro, inserisci interruzioni di pagina verticali e orizzontali alla cella specificata chiamando i metodi HorizontalPageBreakCollection.add(number, number, number) e VerticalPageBreakCollection.add(number, number, number). Ogni metodo add prende il nome della cella in cui deve essere aggiunta l’interruzione.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Adding Page Breaks 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();
}
// Access first worksheet
const worksheet = workbook.worksheets.get(0);
// Add a page break at cell Y30
worksheet.horizontalPageBreaks.add("Y30");
worksheet.verticalPageBreaks.add("Y30");
// Save the Excel file (Excel 97-2003 format .xls)
const outputData = workbook.save(SaveFormat.Excel97To2003);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'AddingPageBreaks_out.xls';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">Page breaks added successfully! Click the download link to get the modified file.</p>';
});
</script>
</html>
Rimozione di specifiche interruzioni di pagina
Per rimuovere un’interruzione di pagina specifica, chiama i metodi HorizontalPageBreakCollection.removeAt(number) e VerticalPageBreakCollection.removeAt(number). Ogni metodo removeAt prende come input l’indice dell’interruzione di pagina da rimuovere.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Remove Specific Page Break Example</title>
</head>
<body>
<h1>Remove Specific Page Break 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 the uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Accessing the first worksheet in the Excel file
const worksheet = workbook.worksheets.get(0);
// Removing a specific page break
worksheet.horizontalPageBreaks.removeAt(0);
worksheet.verticalPageBreaks.removeAt(0);
// Saving the Excel file (Excel 97-2003 format for .xls)
const outputData = workbook.save(SaveFormat.Excel97To2003);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'RemoveSpecificPageBreak_out.xls';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Modified Excel File';
document.getElementById('result').innerHTML = '<p style="color: green;">Page breaks removed successfully! Click the download link to get the modified file.</p>';
});
</script>
</html>
Importante sapere
Quando imposti le proprietà fitToPages (cioè PageSetup.fitToPagesTall e PageSetup.fitToPagesWide) nelle impostazioni di configurazione della pagina, le impostazioni di interruzione di pagina sono influenzate, quindi, se stampi il foglio di lavoro, le impostazioni di interruzione di pagina non vengono considerate, anche se sono ancora impostate.