Accès aux cellules d une feuille de calcul
Comment accéder aux cellules
Aspose.Cells for JavaScript via C++ fournit une classe, Workbook qui représente un fichier Excel. La classe Workbook contient un WorksheetCollection qui permet d’accéder à chaque feuille de calcul dans le fichier Excel. Une feuille de calcul est représentée par la classe Worksheet. La classe Worksheet fournit une collection Cells qui représente toutes les cellules de la feuille.
Nous pouvons utiliser la collection Cells pour accéder aux cellules d’une feuille. Aspose.Cells for JavaScript via C++ propose trois approches de base pour accéder aux cellules d’une feuille :
- Utiliser le nom de la cellule.
- Utiliser l’index de la ligne et de la colonne de la cellule.
- En utilisant un indice de cellule dans la collection Cells
Nous avons mentionné que la 3ème approche est la plus rapide et que la 1ère approche est la plus lente. La différence de performances entre les approches est très faible, alors ne vous inquiétez pas de la dégradation des performances, quelle que soit l’approche que vous utilisez.
Comment obtenir l’objet de cellule par le nom de la cellule
Les développeurs peuvent accéder à une cellule spécifique en passant son nom de cellule à la collection Cells de la classe Worksheet comme index.
Si vous créez une feuille vide au départ, le nombre de la collection Cells est zéro. Lors de l’utilisation de cette approche pour accéder à une cellule, il vérifiera si cette cellule existe dans la collection ou non. Si oui, elle renvoie l’objet cellule dans la collection sinon, elle crée un nouvel objet Cell, l’ajoute à la collection Cells puis retourne l’objet. Cette approche est la plus simple pour accéder à la cellule si vous êtes familier avec Microsoft Excel, mais c’est la plus lente comparée aux autres approches.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Aspose.Cells Read Cell 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();
// Instantiating a Workbook object from the uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Using the first worksheet in the workbook
const worksheet = workbook.worksheets.get(0);
// Accessing a cell using its name
const cell = worksheet.cells.get("A1");
// Output the cell's string value to the page
document.getElementById('result').innerHTML = `<p>Cell A1 value: ${cell.stringValue}</p>`;
});
</script>
</html>
Comment obtenir l’objet de cellule par l’index de la ligne et de la colonne de la cellule
Les développeurs peuvent accéder à une cellule spécifique en passant ses indices de ligne et de colonne à la collection Cells de la classe Worksheet.
Cette approche fonctionne de la même manière que la première approche.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Aspose.Cells Example - Read Cell Value</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');
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();
// Instantiating a Workbook object from the uploaded file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Using the first worksheet in workbook
const worksheet = workbook.worksheets.get(0);
// Accessing a cell using its row and column (A1 -> 0,0)
const cell = worksheet.cells.get(0, 0);
// Printing the string value of the cell
const value = cell.stringValue;
console.log(value);
resultDiv.innerHTML = `<p>Cell A1 value: ${value}</p>`;
});
</script>
</html>
Comment obtenir l’objet de cellule par l’index de la cellule dans la collection de cellules
Une cellule peut également être accessible en passant son index numérique à la collection Cells.
Si vous utilisez cette approche pour accéder aux cellules, une exception peut être levée si l’index numérique de la cellule est hors de portée. Cette approche est la plus rapide pour accéder aux cellules, mais il faut savoir qu’en utilisant cette méthode pour accéder à un objet cellule, l’index numérique peut changer après l’ajout de nouvelles cellules à la collection Cells. Les objets cellules dans la collection Cells sont triés en interne par indices de ligne et de colonne.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Aspose.Cells Example - Read Cell String Value</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');
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();
// Instantiating a Workbook object by opening the Excel file through the file stream
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Using the Sheet 1 in Workbook
const worksheet = workbook.worksheets.get(0);
// Accessing a cell using its row and column.
const cell = worksheet.cells.get(0, 0);
// Output the string value of the cell
console.log(cell.stringValue);
resultDiv.innerHTML = `<p>Cell (0,0) string value: <strong>${cell.stringValue}</strong></p>`;
});
</script>
</html>
Comment obtenir la plage d’affichage maximale de la feuille de calcul
Aspose.Cells for JavaScript via C++ permet aux développeurs d’accéder à la plage d’affichage maximale d’une feuille. La plage d’affichage maximale — la plage de cellules entre la première et la dernière cellule contenant du contenu — est utile lorsque vous devez copier, sélectionner ou afficher l’intégralité du contenu d’une feuille dans une image.
Vous pouvez accéder à la plage d’affichage maximale d’une feuille à l’aide de Cells.maxDisplayRange. Le code d’exemple ci-dessous illustre comment accéder à la propriété maxDisplayRange.
<!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');
const resultDiv = document.getElementById('result');
if (!fileInput.files.length) {
resultDiv.innerHTML = '<p style="color: red;">Please select an Excel file.</p>';
return;
}
// Ensure Aspose.Cells is initialized
await AsposeCells.onReady();
const file = fileInput.files[0];
const arrayBuffer = await file.arrayBuffer();
// Instantiating a Workbook object by opening the uploaded Excel file
const workbook = new Workbook(new Uint8Array(arrayBuffer));
// Access the first worksheet in the workbook
const worksheet = workbook.worksheets.get(0);
// Access the Maximum Display Range
const range = worksheet.cells.maxDisplayRange;
// Print / display the Maximum Display Range RefersTo property
const refersTo = range.refersTo;
resultDiv.innerHTML = `<p style="color: green;">Maximum Display Range: ${refersTo}</p>`;
});
</script>
</html>