I'm trying to create a new Spreadsheet document and set come Core properties (such the author and the title) but I have some problems. To show what I'm doing I've created a simple TestCase: package org.apache.poi.xssf.usermodel; import org.apache.poi.POIXMLProperties; import junit.framework.TestCase; public class TestXSSFProperties extends TestCase { public void testCreateWorkbookAndSetCoreProperties() throws Exception{ XSSFWorkbook workbook = new XSSFWorkbook(); POIXMLProperties properties = workbook.getProperties(); assertNotNull(properties); } } If I run the testcase (I'm using the trunk version of POI) I have the following error: java.lang.IllegalArgumentException: A document must always have core properties defined! at org.apache.poi.POIXMLProperties.<init>(POIXMLProperties.java:47) at org.apache.poi.POIXMLDocument.getProperties(POIXMLDocument.java:162) at org.apache.poi.xssf.usermodel.TestXSSFProperties.testCreateWorkbookAndSetCoreProperties(TestXSSFProperties.java:13) .... I've tried to find a way to set the Core properties object but I haven't found any useful Java method. If I create a new Workbook by loading and existing xlsx file it all works fine but If I create it from scratch the Core Propeties object is not create. Is there a way to create the core properties or I have to patch the XSSFWorkbook constructor? In the second case, it's best to create the core properties upon creation or to add a createProperties method?
Fixed in r793291 Regards, Yegor