textareaに入力されたテキストにはキャリッジリターンがあり、poiがデータをExcelにエクスポートするときに改行が表示されるという問題が解決されました

今日の開発中に厄介な問題が発生しました。poiを使用してデータテーブルをエクスポートし、Excelを使用しました。使用に問題はありませんでした。今日、新しい関数にテキストエリアテキストボックスを追加した後、入力コンテンツがあればキャリッジリターンの場合、データはデータベースに保存され、フロントエンドに抽出されます。poiを使用してExcelテーブルが生成された後、テーブルは故障します。図に示すように:
ここに画像の説明を挿入
1の後に表示されるはずのデータが改行になりました。
この問題を解決するために、インターネットでたくさんの解決策を探しました。キャリッジリターンを交換するのが原則ですが、多くの大物をフォローしたところ、交換できないことがわかりました。多くの方法で、私はついに解決策を見つけました。

exportDatas = exportDatas.replaceAll("\t", "t");
			exportDatas = exportDatas.replaceAll("\r", "r");
			exportDatas = exportDatas.replaceAll("\n", "n");
			exportDatas = exportDatas.replaceAll("trn", "\n");
			exportDatas = exportDatas.replaceAll("rn", "");
			exportDatas = exportDatas.replaceAll("t", "\t");

これは2回目の試行後のコードであり、簡略化できます。前に、データがバックグラウンドに送信された後、タブが停止し、セル内のキャリッジリターンがどのように表されるかを調べたいと思いました。データを確認した後、次の置換。
このような問題が発生した場合は、最初にこれらの特殊記号を特定の文字に置き換え、ルールを理解した後で置換操作を実行できることを思い出してください。[\ n \ t\r]の形式の式は正規表現形式であり、含まれている文字はすべて置き換えられるため、使用をお勧めしません。

おすすめ

転載: blog.csdn.net/fzt12138/article/details/114368451
おすすめ