Bonjour,

J'ai rencontré ce problème en réalisant un tout petit test ou je lis un fichier XLSX et je le réécris dans un premier temps tel qu'il est

mon code et le pom.xml ci-dessous :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
package lesXls.exports.tests.xlsx;
 
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 
public class PoiXlsxTest01 {
 
	private static XSSFWorkbook _wb;
 
	public static void main(String[] args) {
 
		try {
			String path = "C:/monFichier_In.xlsx";
			File file = new File(path);
			OPCPackage opcPackage = OPCPackage.openOrCreate(file);
			_wb = new XSSFWorkbook(opcPackage);
 
			String fileOut = "C:/monFichier_Out.xlsx";
			OutputStream outputStream = new FileOutputStream(new File(fileOut ));
			_wb.write(outputStream);
 
			outputStream.close();
			opcPackage.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
Le POM.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<dependencies>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>3.6</version>
		</dependency>
 
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml</artifactId>
			<version>3.6</version>
		</dependency>
 
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>ooxml-schemas</artifactId>
			<version>1.0</version>
		</dependency>
	</dependencies>

Ce que je récupère en lançant:

Exception in thread "main" java.lang.ExceptionInInitializerError
at org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDxfs$Factory.newInstance(Unknown Source)
at org.apache.poi.xssf.model.StylesTable.writeTo(StylesTable.java:362)
at org.apache.poi.xssf.model.StylesTable.commit(StylesTable.java:377)
at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:177)
at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:181)
at org.apache.poi.POIXMLDocument.write(POIXMLDocument.java:214)
at lesXls.exports.puissance.PoiXlsxTest01.main(PoiXlsxTest01.java:32)
Caused by: java.lang.SecurityException: class "org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDxfs$1"'s signer information does not match signer information of other classes in the same package
at java.lang.ClassLoader.checkCerts(ClassLoader.java:775)
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:487)
at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at org.openxmlformats.schemas.spreadsheetml.x2006.main.CTDxfs.<clinit>(Unknown Source)
Merci