Avoid exponential notation of large numbers while importing from HTML
Contents
[
Hide
]
Sometimes your HTML contains numbers like 1234567890123456 which are longer than 15 digits and when you import your HTML to excel file, these numbers convert to exponential notation like 1.23457E+15. If you want, your number should be imported as it is and not converted to exponential notation, then please use HtmlLoadOptions.KeepPrecision property and set it true while loading your HTML.
Avoid exponential notation of large numbers while importing from HTML
The following sample code explains the usage of HtmlLoadOptions.KeepPrecision property. It will import the number as it is without converting it to exponential notation.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(KeepPrecisionOfLargeNumbers.class) + "TechnicalArticles/"; | |
// Sample Html containing large number with digits greater than 15 | |
String html = "<html>" + "<body>" + "<p>1234567890123456</p>" + "</body>" + "</html>"; | |
// Convert Html to byte array | |
byte[] byteArray = html.getBytes(); | |
// Set Html load options and keep precision true | |
HtmlLoadOptions loadOptions = new HtmlLoadOptions(LoadFormat.HTML); | |
loadOptions.setKeepPrecision(true); | |
// Convert byte array into stream | |
java.io.ByteArrayInputStream stream = new java.io.ByteArrayInputStream(byteArray); | |
// Create workbook from stream with Html load options | |
Workbook workbook = new Workbook(stream, loadOptions); | |
// Access first worksheet | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Auto fit the sheet columns | |
worksheet.autoFitColumns(); | |
// Save the workbook | |
workbook.save(dataDir + "KPOfLargeNumbers_out.xlsx", SaveFormat.XLSX); | |
System.out.println("File saved"); |