====== Librairies Java ====== Voir aussi: * [[/informatique/java/documentation|Documentation Java]] * [[/informatique/java/frameworks|Frameworks Java]]. * [[http://java.developpez.com/outils/api/|Sélection d'APIs sur developpez.com]] ===== File format ===== ==== Microsoft Documents ==== === Apache POI === [[http://poi.apache.org/]] the Java API for Microsoft Documents. Voir la [[http://poi.apache.org/overview.html|Apache POI - Component Overview]] pour la liste des formats "Microsoft Office" supportés (97-2003-2007, 2007+, OOXML ...) * [[http://marcautran.developpez.com/tutoriels/java/poi/excel-to-java/|Tutoriel pour extraire des données depuis une feuille Excel, les transformer et les sauvegarder : utilisation d'Apache POI]] par Marc AUTRAN 2016/07 * [[http://www.jmdoudoux.fr/java/dej/chap-generation-documents.htm|Présentation]] en français par JM Doudoux. * [[http://poi.apache.org/spreadsheet/quick-guide.html|Busy Developers' Guide to HSSF and XSSF Features]] ==== Excel API ==== Un panorama des librairies permettant de manipuler des fichiers Excel (XLS,XLST): [[http://rgagnon.com/javadetails/java-0516.html|Handle Excel files]]. === JExcelApi === * [[http://jexcelapi.sourceforge.net/]] (Last Update 2009-10-26) * [[/informatique/java/librairies/JExcelApi]] Cette API est vraiment bien, SAUF qu'elle a des problèmes avec les codes page. J'ai tellement galéré entre Gnumeric, LibreOffice et Excel2010 que je suis passé à Apache POI ... Java Excel API is a mature, open source java API enabling developers to read, write, and modifiy Excel spreadsheets dynamically. Now java developers can read Excel spreadsheets, modify them with a convenient and simple API, and write the changes to any output stream (e.g. disk, HTTP, database, or any socket). Any operating system which can run a Java virtual machine (i.e., not just Windows) can both process and deliver Excel spreadsheets. Because it is Java, the API can be invoked from within a servlet, thus giving access to Excel spreadsheets over internet and intranet web applications. Some Features: * Reads data from Excel 95, 97, 2000, XP, and 2003 workbooks * Reads and writes formulas (Excel 97 and later only) * Generates spreadsheets in Excel 2000 format * Supports font, number and date formatting * Supports shading, bordering, and coloring of cells * Modifies existing worksheets * Is internationalized, enabling processing in almost any locale, country, language, or character encoding (formulas are currently only supported in English, French, Spanish, and German, but more can be added if translated) * Supports copying of charts * Supports insertion and copying of images into spreadsheets * Supports logging with Jakarta Commons Logging, log4j, JDK 1.4 Logger, etc * ...and much more =====Object format===== ==== Json ==== === Google-gson === [[http://code.google.com/p/google-gson/]] Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. Gson can work with arbitrary Java objects including pre-existing objects that you do not have source-code of. There are a few open-source projects that can convert Java objects to JSON. However, most of them require that you place Java annotations in your classes something that you can not do if you do not have access to the source-code. Most also do not fully support the use of Java Generics. Gson considers both of these as very important design goals. ===== Communication ===== ==== Ganymed SSH-2 for Java ==== [[http://www.cleondris.ch/opensource/ssh2/]] Ganymed SSH-2 for Java is an open source library which implements the SSH-2 protocol in pure Java (tested on J2SE 1.4.2 and 5.0). It allows one to connect to SSH servers from within Java programs. It supports SSH sessions (remote command execution and shell access), local and remote port forwarding, local stream forwarding, X11 forwarding, SCP and SFTP. There are no dependencies on any JCE provider, as all crypto functionality is included. Originally, Ganymed SSH-2 for Java was developed for the Ganymed replication project at ETH Zurich (Switzerland).