на главную обучение сертификация статьи литература ссылки гостевая книга
  Список статей Оглавление Текст статьи  

Java: Русские буквы и не только...

Автор:Астахов Сергей
Создан:03.06.2003


13. POI

   Пакет Jakarta POI предназначен для работы с документами Microsoft Office. Пока что более-менее работающей там является только поддержка файлов MS Excel (xls). Особой сложности в работе с русским языком нет, но надо учитывать нюанс, что для работы с ячекой используется класс org.apache.poi.hssf.usermodel.Cell, у которого есть метод setEncoding(short encoding), однако вместо привычных "Cp1255" и "Cp866", необходимо исользовать константы ENCODING_COMPRESSED_UNICODE (0) и ENCODING_UTF_16 (1). По умолчанию включен первый режим, а для нормальной работы с русским языком необходимо использовать ENCODING_UTF_16. Причем что самое важное, эту установку необходимо выполнять для каждой, создаваемой ячейки.
Пример кода:
  HSSFWorkbook wb=new HSSFWorkbook();
  HSSFSheet sheet=wb.createSheet("Sheet1");
  HSSFRow row=sheet.createRow((short)0);

  for( int i = 0; i < 10; i++ )
  {
    HSSFCell cell=row.createCell((short)i);
    cell.setEncoding((short)cell.ENCODING_UTF_16);
    cell.setCellValue("Тест русского языка");
  }
   Создать лист с названием содержащим русские символы, к сожалению, не удаётся. Данное описание прислал Вячеслав Яковенко, за что ему отдельное спасибо.


назад оглавление дальше