POIがJavaを介して純粋な数値やその他の形式をインポートする問題を解決するにはどうすればよいですか?
Poi は純粋な数値とその他の問題をインポートします
poi を使用して Excel をエクスポートする場合、セルが純粋な数値に設定されている場合、入力データが大きすぎると自動的に科学的表記法で表示されます。インポートされたデータにエラーが発生しました。解決策は、バックグラウンドでエクスポート ファイルを取得し、セル属性を強制変換することで、完全に解決できます。他のセル形式によって引き起こされるデータ インポート例外にも適しています
#Cell cellCode = r.getCell(1); cellCode.setCellType(CellType.STRING); info.setCode(r.getCell(1).getStringCellValue());
poi セルの内容の取得:数値の書式設定
本日、ビジネス側からエクセルで取り込んだ金額が四捨五入されているとの依頼を受けました。
それからコードをチェックしました。最初は目がくらんで、本当に耐えられませんでした。しかし、考えてみてください。プログラマーとして、人々への奉仕を拒否することはできません。そこで、デバッグしてみました。私は本当に怠け者で、コードを直接追跡したくなかったので、デバッグに行きました...
REASON
具体的な理由が見つかりました:
if (xssfRow.getCellType() == Cell.CELL_TYPE_NUMERIC) { DecimalFormat format = new DecimalFormat("#"); double num = xssfRow.getNumericCellValue(); String res = format.format(num); //…… }
In上記のコードでは、数値は整数としてフォーマットされます。もちろん値を直接取得しても問題ありません。
は次のとおりです。
if (xssfRow.getCellType() == Cell.CELL_TYPE_NUMERIC) { DecimalFormat format = new DecimalFormat("#"); double num = xssfRow.getNumericCellValue(); String res = format.format(num); // num 和 res 的取值差不多。 如: 50.00 : num 为 50.00,res 为 50; 123.23, num 为123.23, res为123.23 System.err.println(num + "--" + res); //…… }
DecimalFormat
DecimalFormat は、10 進数の書式設定に使用される NumberFormat の具象サブクラスです。数値をできるだけ早く必要なものにフォーマットするのに役立ちます。 DecimalFormat には、パターンと記号のセットが含まれています。
DecimalFormat クラスは、主に 2 つのプレースホルダー記号 # と 0 に依存して数値の長さを指定します。 「
#.000」のような記号。小数点以下 4 桁、足りない場合は空白、小数点以下 3 桁、足りない場合は 0 を埋めるモードです。記号の意味:
- 0 数値
- # 0 を除く数値
- . 小数区切り文字プレースホルダー
- 、グループ区切り文字プレースホルダー
- - デフォルトの負の接頭辞。
- % 100 を掛けてパーセンテージで表示します
public static void main(String[] args) { double pi=3.1415927;//圆周率 //取一位整数 System.out.println(new DecimalFormat("0").format(pi));//3 //取一位整数和两位小数 System.out.println(new DecimalFormat("0.00").format(pi));//3.14 //取两位整数和三位小数,整数不足部分以0填补。 System.out.println(new DecimalFormat("00.000").format(pi));//03.142 //取所有整数部分 System.out.println(new DecimalFormat("#").format(pi));//3 //以百分比方式计数,并取两位小数 System.out.println(new DecimalFormat("#.##%").format(pi));//314.16% long c=299792458;//光速 //显示为科学计数法,并取五位小数 System.out.println(new DecimalFormat("#.#####E0").format(c));//2.99792E8 //显示为两位整数的科学计数法,并取四位小数 System.out.println(new DecimalFormat("00.####E0").format(c));//29.9792E7 //每三位以逗号进行分隔。 System.out.println(new DecimalFormat(",###").format(c));//299,792,458 System.out.println(new DecimalFormat("-###").format(c));//299,792,458 System.out.println(new DecimalFormat("#.##?").format(c));//299,792,458 //将格式嵌入文本 System.out.println(new DecimalFormat("光速大小为每秒,###米").format(c)); //光速大小为每秒299,792,458米 }
以上がPOIがJavaを介して純粋な数値やその他の形式をインポートする問題を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

Java での日付までのタイムスタンプに関するガイド。ここでは、Java でタイムスタンプを日付に変換する方法とその概要について、例とともに説明します。

Java は、初心者と経験豊富な開発者の両方が学習できる人気のあるプログラミング言語です。このチュートリアルは基本的な概念から始まり、高度なトピックに進みます。 Java Development Kit をインストールしたら、簡単な「Hello, World!」プログラムを作成してプログラミングを練習できます。コードを理解したら、コマンド プロンプトを使用してプログラムをコンパイルして実行すると、コンソールに「Hello, World!」と出力されます。 Java の学習はプログラミングの旅の始まりであり、習熟が深まるにつれて、より複雑なアプリケーションを作成できるようになります。
