Biblioteca Java de código abierto para documentos de hoja de cálculo
Convierta archivos de Excel en aplicaciones Java a través de la API de código abierto.
Documents4J es una API Java de código abierto para convertir Microsoft Excel a otros formatos de archivo. Esto se logra delegando la conversión a cualquier aplicación nativa que comprenda la conversión del archivo dado al formato de destino deseado. La API ofrece dos tipos de implementaciones locales y remotas. Usando la versión local, el documento se puede convertir en la misma máquina que es capaz de convertir el formato de archivo solicitado. Usando la API remota, envía un documento al servidor usando REST-API y el servidor realiza la conversión solicitada.
Documents4J es transparente y fácil de usar. Los desarrolladores pueden trabajar con la versión local de la API, mientras que el desarrollo y la versión remota se pueden usar cuando los desarrolladores publican la aplicación en la producción.
Primeros pasos con Documents4J
En primer lugar, debe crear una copia de documents4j en su máquina local. Simplemente clone el repositorio de documents4j usando git o clonándolo directamente en GitHub. Una vez que se clona el repositorio, puede compilar el proyecto con Mave
Instale Documents4J a través de GitHub
git clone https://github.com/documents4j/documents4j.git
cd documents4j
mvn package
Convertir Microsoft Excel usando Java
Documents4J es una API fluida para realizar la conversión de documentos. La API no expone ningún detalle de la implementación del convertidor de respaldo. Para realizar la conversión de documentos, la API ofrece la interfaz IConverter. Con esta interfaz, puede convertir el formato de archivo de Microsoft Excel al formato de archivo deseado. Para averiguar los formatos de archivo de conversión admitidos, puede consultar el método getSupportedConversion() que devolverá los formatos de archivo de origen y de destino.
Convertir Excel File a otro formato de archivo a través de Java
Const WdExportFormatPDF = 17
Const MagicFormatPDF = 999
Dim arguments
Set arguments = WScript.Arguments
' Transforms a file using MS Excel into the given format.
Function ConvertFile( inputFile, outputFile, formatEnumeration )
Dim fileSystemObject
Dim excelApplication
Dim excelDocument
' Get the running instance of MS Excel. If Excel is not running, exit the conversion.
On Error Resume Next
Set excelApplication = GetObject(, "Excel.Application")
If Err <> 0 Then
WScript.Quit -6
End If
On Error GoTo 0
' Find the source file on the file system.
Set fileSystemObject = CreateObject("Scripting.FileSystemObject")
inputFile = fileSystemObject.GetAbsolutePathName(inputFile)
' Convert the source file only if it exists.
If fileSystemObject.FileExists(inputFile) Then
' Attempt to open the source document.
On Error Resume Next
Set excelDocument = excelApplication.Workbooks.Open(inputFile, , True)
If Err <> 0 Then
WScript.Quit -2
End If
On Error GoTo 0
On Error Resume Next
If formatEnumeration = MagicFormatPDF Then
excelDocument.ExportAsFixedFormat xlTypePDF, outputFile
Else
excelDocument.SaveAs outputFile, formatEnumeration
End If
' Close the source document.
excelDocument.Close False
If Err <> 0 Then
WScript.Quit -3
End If
On Error GoTo 0
' Signal that the conversion was successful.
WScript.Quit 2
Else
' Files does not exist, could not convert
WScript.Quit -4
End If
End Function
' Execute the script.
Call ConvertFile( WScript.Arguments.Unnamed.Item(0), WScript.Arguments.Unnamed.Item(1), CInt(WScript.Arguments.Unnamed.Item(2)) )
Convertir documentos de oficina en PDF vía Java
La biblioteca de Documentos4J de fuente abierta ha incluido varias características importantes para convertir documentos de oficina de Microsoft como Word, Excel y PowerPoint archivos a otros formatos de archivos de soporte como PDF o imagen, etc. El siguiente ejemplo demostró lo fácil que los programadores de software pueden cargar y convertir un archivo Microsoft Word Docx a PDF con sólo un par de líneas de código.
Convertir Office Docx Archivo a PDF vía Java Biblioteca
public class NewMain {
/**
* @param args the command line arguments
* @throws java.io.FileNotFoundException
*/
public static void main(String[] args) throws FileNotFoundException, IOException, InterruptedException, ExecutionException {
ByteArrayOutputStream bo = new ByteArrayOutputStream();
InputStream in = new BufferedInputStream(new FileInputStream(System.getProperty("user.dir") + File.separator +"out.rtf"));
IConverter converter = LocalConverter.builder()
.baseFolder(new File(System.getProperty("user.dir") + File.separator +"test"))
.workerPool(20, 25, 2, TimeUnit.SECONDS)
.processTimeout(5, TimeUnit.SECONDS)
.build();
Future conversion = converter
.convert(in).as(DocumentType.RTF)
.to(bo).as(DocumentType.PDF)
.prioritizeWith(1000) // optional
.schedule();
conversion.get();
try (OutputStream outputStream = new FileOutputStream("out.pdf")) {
bo.writeTo(outputStream);
}
in.close();
bo.close();
}
}