Java Apache POI набор метаданных - PullRequest
0 голосов
/ 03 июня 2019

Я использую Apache POI для создания отчетов Excel.Но в свойствах файла excel четко указано, что я использовал Apache POI.Вместо этого я хочу указать название своего программного обеспечения

enter image description here

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

 XSSFWorkbook xlsxSetMetadata = new XSSFWorkbook();
 xlsxSetMetadata.createSheet("Test sheet");
 POIXMLProperties props = xlsxSetMetadata.getProperties();

 POIXMLProperties.CoreProperties coreProp=props.getCoreProperties();
 coreProp.setCreator("---------------");
 coreProp.setDescription("Report");
 coreProp.setKeywords("Report ");
 coreProp.setTitle("... Report");

 POIXMLProperties.ExtendedProperties extProp=props.getExtendedProperties();
 extProp.getUnderlyingProperties().setCompany("XYX company");
 extProp.getUnderlyingProperties().setTemplate("XSSF");

 POIXMLProperties.CustomProperties custProp = props.getCustomProperties();
 custProp.addProperty("Author", "..........");
 custProp.addProperty("Program name", "MY_SOFTWARE_NAME_HERE");

 String fname = "file_name.xlsx";
 FileOutputStream out = new FileOutputStream(fname);
 xlsxSetMetadata.write(out);
 out.close();

Как я могу изменить свойство program name на имя моей программы ??

1 Ответ

3 голосов
/ 03 июня 2019

Использовать

extProp.getUnderlyingProperties().setApplication("MY_SOFTWARE_NAME_HERE");

под POIXMLProperties.ExtendedProperties.

Взято из этой темы

...