В Java мы используем следующий пакет для программного создания документов excel:
org.apache.poi.hssf
Если вы попытаетесь установить имя листа (не файл, а внутренний лист Excel), вы получите сообщение об ошибке, если:
- Имя более 31 символа
- Имя содержит любой из следующих символов:/\ *? []
Однако после создания документа с именем листа:
@# $% &() + ~ `" ':;., |
Ошибка не выводится, и все кажется прекрасным в Java. Когда вы открываете файл excel в Office 2003, он даст вам сообщение о том, что имя листа недействительно и что оно переименовано в нечто общее, например "Лист 1".
Я не знаю много о ранее заявленном пакете, который мы используем, но похоже, что он неправильно фильтрует неверные имена листов Excel. Любая идея, как я могу отфильтровать все известные недопустимые символы? Я не решаюсь просто отфильтровать все символы, отличные от слов.