从 HTML 导入时避免大数的指数表示法
Contents
[
Hide
]
有时您的 HTML 包含像 1234567890123456 这样长于 15 位的数字,当您将 HTML 导入 excel 文件时,这些数字会转换为指数表示法,例如 1.23457E+15。如果你愿意,你的数字应该原样导入而不是转换为指数表示法,那么请使用HtmlLoadOptions.KeepPrecision属性并设置它真的在加载您的 HTML 时。
从 HTML 导入时避免大数的指数表示法
下面的示例代码解释了HtmlLoadOptions.KeepPrecision财产。它会按原样导入数字,而不会将其转换为指数表示法。
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"); |