Понимание того, как реализовать несколько функций Oracle Peoplesoft PSSpreadsheet

Я знаю, что это будет очень конкретным, и мне повезет, если кто-то, имеющий опыт в этой теме, увидит это, но у меня кончилось терпение, пытаясь найти ответы, поэтому я подумал, что я могу увидеть, если кто-то в сообщество знает.

Я пытаюсь создать отчет, созданный PeopleCode, который считывает данные из промежуточной таблицы и записывает их в электронную таблицу Excel. Для этого я использую библиотеку Oracle под названием "PSSpreadsheet". Кроме документации PeopleBooks, информация о библиотеке в Интернете практически отсутствует. Мои проблемы лежат с этими двумя функциями: SetCellHeaderStyle() и SetColumnWidth().

Прежде всего, SetCellHeaderStyle() принимает следующие параметры:

  • ROWNUM / colnum
  • redvalue
  • bluevalue
  • greenvalue
  • boldweight
  • цвет
  • FontHeight
  • имя_шрифта

У меня есть проблемы только с красными / синими / зелеными значениями. Независимо от того, какую комбинацию чисел я установил в качестве параметров (от 0 до 256), ячейки, к которым я применяю функцию, серые и имеют двойную рамку. Это означает, что если я хочу использовать эту функцию и изменить любое предоставляемое ей форматирование, мне придется иметь дело с этим причудливым стилем цвета / границы.

Следующая функция SetColumnWidth () принимает только два параметра:

  • colnum
  • ширина

Довольно просто, не правда ли? Когда я запускаю свой код (где &SS - мой объект электронной таблицы):

&SS.SetColumnWidth(1, 25);
&SS.SetColumnWidth(2, 25);
&SS.SetColumnWidth(3, 1);
&SS.SetColumnWidth(15, 1);
&SS.SetColumnWidth(27, 1);

Который предназначен для установки столбцов A и B на ширину 25; и столбцы C, O и AA на ширину 1, он просто сворачивает столбцы. Как и все они имеют ширину 0, когда я создаю отчет.

Может кто-нибудь помочь понять, как применить эти функции форматирования к моему коду? Я вроде как в этом сошел с ума и не уверен, отстой ли библиотека или просто не понимаю.

Заранее спасибо.

0 ответов

Для Set Cell Header Style я вижу то же самое.

Кажется, это основано на OPENXML. Вы можете сохранить файл xlsx в виде файла.zip и посмотреть, что находится в электронной таблице. [xl/styles.xmlи т. д.] Кажется, что параметр цвета устанавливает цвет шрифта, хотя я не выяснил, какое именно число соответствует какой записи цвета в Excel, кроме как методом проб и ошибок. Значения красного, зеленого, синего, похоже, ничего не устанавливают?fontheight а также fontname кажется, работает

Заданная ширина столбца, по-видимому, равна 0, поэтому столбец A равен 0, B равен 1,

Номер цвета см. По этой ссылке

Параметр Color в SetCellHeaderStyle используется для установки цвета шрифта. Это индексируемое значение цвета, эквивалентное индексу XSSFColor библиотеки Apache POI. Чтобы установить красный цвет, нам нужно передать значение, эквивалентное IndexedColors.RED.getIndex().

Я использовал JavaObject следующим образом

Local JavaObject &xlColor = GetJavaClass("org.apache.poi.ss.usermodel.IndexedColors");
 &ssObject.SetCellHeaderStyle(&iXLrow, 1, 255, 255, 0, 20, &xlColor.RED.getIndex(), 12, "Calibri");

Смотрите эту другую ссылку для разных цветов.

Тоже похоже boldWeightничего не делает.
Также не SetCellHeaderStyle работал только у меня, если я открывал электронную таблицу с row установлен в true.

&ssObject.Open(&strOutFileName, True);
Другие вопросы по тегам