Excelファイルのシート名の注意

Excelファイルのシート名には使用できない記号が存在する。参考1(https://qiita.com/RelaxTools/items/d173d0f94424349ca234) 参考2(https://qiita.com/RelaxTools/items/d173d0f94424349ca234)
また、nullはもちろん使えず、最大文字数などその他の制約も存在する。

Apache POIでExcelファイルを生成する場合、シート名を設定する際には、org.apache.poi.ss.util.WorkbookUtil#createSafeSheetNameメソッドを利用すると、エラーとならない安全なシート名を生成することができる。

// ブックを作成
try (Workbook workbook = new SXSSFWorkbook()) {
    // シートを作成
    Sheet sheet = workbook.createSheet();
    // シート名を設定
    workbook.setSheetName(workbook.getSheetIndex(sheet), WorkbookUtil.createSafeSheetName(":シート名:"));
}