Javaでエクセルファイルを読み書きするにはApache POIを使うわけですが、😀のような絵文字を含むエクセルを作成して出力することが出来ません。 Java自体は絵文字を扱えるのですが、POIで出力すると「?」となってしまいます。 Windowsで日常的に使うツールで絵文字が扱えるものの中にエクセルがあるのですが、Javaプログラムで作成した絵文字を含むデータを出力できないのは痛い。 調べてみると他のサイトでこんなのを見つけました ほどよくしっかり: POIで絵文字を出力するためのハック 根本原因はPOIが依存するライブラリのxmlbeansが絵文字を無効な文字と判断して「?」に変換してしまうからのようです。 xmlbeansは開発停止しているのですが、forkして改修をしている人がいました! https://github.com/pjfanning/xmlbeans mavenにある
![気まぐれラボラトリィ](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)