Measure the Width and Height of the Cell Value in Unit of Pixels
Contents
[
Hide
]
Sometimes you need to calculate the width and height of cell value to fit the cell value inside the cell. Aspose.Cells provides Cell.widthOfValue and Cell.heightOfValue methods for this purpose. By using these methods you can calculate width and height of the cell value and then set the width of the column and height of the row of that cell respectively and this will then adjust or fit the cell value inside the cell.
Alternatively, you can also autofit rows and columns of your cell or range of cells using Aspose.Cells APIs.
The following code explains the use of Cell.widthOfValue and Cell.heightOfValue methods.
<!DOCTYPE html>
<html>
<head>
<title>Aspose.Cells Example</title>
</head>
<body>
<h1>Get Cell Size 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');
// Create or load 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);
// Access cell B2 and add some value inside it
const cell = worksheet.cells.get("B2");
cell.value = "Welcome to Aspose!";
// Enlarge its font to size 16
const style = cell.style;
style.font.size = 16;
cell.style = style;
// Calculate the width and height of the cell value in unit of pixels
const widthOfValue = cell.widthOfValue;
const heightOfValue = cell.heightOfValue;
// Print both values to the page
document.getElementById('result').innerHTML = `<p>Width of Cell Value: ${widthOfValue}</p><p>Height of Cell Value: ${heightOfValue}</p>`;
// Set the row height and column width to adjust/fit the cell value inside cell
worksheet.cells.setColumnWidthPixel(1, widthOfValue);
worksheet.cells.setRowHeightPixel(1, heightOfValue);
// Save the output excel file and provide download link
const outputData = workbook.save(SaveFormat.Xlsx);
const blob = new Blob([outputData]);
const downloadLink = document.getElementById('downloadLink');
downloadLink.href = URL.createObjectURL(blob);
downloadLink.download = 'output_out.xlsx';
downloadLink.style.display = 'block';
downloadLink.textContent = 'Download Excel File';
});
</script>
</html>