Некорректное склонение месяца в Aspose Cells


#1

Добрый день!

При открытии Excel-книги (xlsx) в Aspose Cells, значение ячеек с датой в формате “Месяц год” отображается в родительном падеже.
Например, в Excel в ячейке отображается “Июль 2018”, а в Aspose “июля 2018”.
Используем последнюю версию Aspose Cells 18.6

Подскажите, как обозначить эту проблему, чтобы она была исправлена в ближайшем времени?

Спасибо!


#2

@nikiton,

Спасибо за детали.

Пожалуйста, предоставьте нам свой файл Excel и вставьте свой примерный код (исполняемый файл), мы скоро его проверим. Также дайте нам информацию о вашей среде (ОС, региональные и языковые настройки, версию MS Excel и т. Д.). Кроме того, дайте нам несколько скриншотов, чтобы выделить проблему. Это поможет нам действительно оценить вашу проблему, поэтому быстро ее пойму.


#3

Добрый день!

Спасибо за ответ!

Код, на котором можно проверить проблему самый простой:

import com.aspose.cells.Cell;
import com.aspose.cells.Workbook;
import com.aspose.cells.Worksheet;

import java.io.File;
import java.io.FileInputStream;

public class Main {

public static void main(String[] args) throws Exception {

    File file = new File("C:\\work\\AsposeTest\\tst.xlsx");
    try (FileInputStream fis = new FileInputStream(file)) {
        Workbook workbook = new Workbook(fis);
        Worksheet sheet = workbook.getWorksheets().get(0);
        Cell cell = sheet.getCells().get(1, 2);
        String valStr = cell.getStringValue();
        System.out.println(valStr);
    }

}

}

Информация о среде:
ОС MS Windows 10 Pro 64-bit,
MS Excel 2016 MSO (16.0.4639.1000) 64-bit,
Страна/регион - Россия,
Подключенные языки: English (US), Русский

Исходные файлы и скриншоты во вложении.
aspose-cell test.zip (368.0 KB)


#4

@nikiton,

Спасибо за файл шаблона, образец кода и скриншоты.

Не могли бы вы попытаться добавить следующие строки в сегмент кода, если это имеет какое-то значение в вашей среде. Я проверил ваш сценарий / случай, используя ваш файл шаблона и пример кода на английском языке (usa locale), и он отлично работает:
например
Образец кода:

File file = new File(“F:\Files\aspose-cell test\tst.xlsx”);
try (FileInputStream fis = new FileInputStream(file)) {
LoadOptions opts = new LoadOptions();
opts.setRegion(CountryCode.RUSSIA);
opts.setLanguageCode(CountryCode.RUSSIA);

Workbook workbook = new Workbook(fis, opts);
Worksheet sheet = workbook.getWorksheets().get(0);
Cell cell = sheet.getCells().get(1, 2);
String valStr = cell.getStringValue();
System.out.println(valStr);
}

Сообщите нам, если вы все еще найдете проблему.


#5

Спасибо за рекомендации.

Но, к сожалению, результат не изменился.
Всё так же в Excel ячейка содержит “Июль 2018”, а результат работы приведенного вами кода возвращает “июля 2018”


Invalid date format output
#6

@nikiton,

Мы протестировали ваш сценарий / случай, используя ваш файл шаблона и образец кода, мы получили "Июль 2018" для C2 StringValue. Мы считаем, что это правильный результат. Я думаю, что для такой проблемы, возможно, это связано с настройками вашей среды Java, например, с вашим JDK. Вы можете попробовать использовать пользовательский «yyyy-MMM-dd» для форматирования строки DateTime, просто используя класс SimpleDateFormat Java, а не с Aspose.Cells. Вы можете попытаться посмотреть, сможете ли вы получить ожидаемые результаты.


#7

Спасибо, будем пробовать!


#8

@nikiton,

Добро пожаловать.