HTMLからの大きな数値の指数表記を避ける
Contents
[
Hide
]
HTMLには 1234567890123456 のような15桁以上の長い数字が含まれることがあり、これらの数字をエクセルファイルにインポートすると、1.23457E+15 のように指数表記に変換されることがあります。もし、数値をそのままインポートし、指数表記に変換しないで欲しい場合は、HTMLをロードする際にHtmlLoadOptions.KeepPrecisionプロパティを true に設定してください。
HTMLからの大きな数値の指数表記を避ける
次のサンプルコードは、HtmlLoadOptions.KeepPrecisionプロパティの使用方法を説明しています。これにより、指数表記に変換せずに数値をインポートします。
This file contains hidden or 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"); |