Biblioteca Java de código aberto para documentos de planilha
Converta arquivos do Excel em aplicativos Java por meio da API Open Source.
Documents4J é uma API Java de código aberto da conversão do Microsoft Excel para outros formatos de arquivo. Isso é obtido delegando a conversão para qualquer aplicativo nativo que entenda a conversão do arquivo fornecido para o formato de destino desejado. A API oferece dois tipos de implementações locais e remotas. Usando o documento de versão local pode ser convertido na mesma máquina que é o cabo de conversão do formato de arquivo solicitado. Usando a API Remota, você envia um documento para o servidor usando a API REST e o servidor realiza a conversão solicitada.
Documents4J é transparente e simples de usar. Os desenvolvedores podem trabalhar com a versão local da API durante o desenvolvimento e a versão remota pode ser usada quando os desenvolvedores publicam o aplicativo na produção.
Começando com Documentos4J
Antes de tudo, você precisa criar uma cópia de documents4j em sua máquina local. Basta clonar o repositório do documents4j usando o git ou clonando-o diretamente no GitHub. Depois que o repositório for clonado, você poderá compilar o projeto usando o Mave
Instale Documents4J via GitHub
git clone https://github.com/documents4j/documents4j.git
cd documents4j
mvn package
Converter Microsoft Excel usando Java
Documents4J é uma API fluente para realizar a conversão de documentos. A API não expõe nenhum detalhe da implementação do conversor auxiliar. Para realizar a conversão de documentos a API oferece a interface IConverter. Usando esta interface, você pode converter o formato de arquivo do Microsoft Excel para o formato de arquivo desejado. Para descobrir os formatos de arquivo de conversão suportados, você pode consultar o método getSupportedConversion() que retornará os formatos de arquivo de origem e destino.
Converter arquivo do Excel para outro formato de arquivo via 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)) )
Converter Documentos do Office para PDF via Java
A biblioteca Documents4J de código aberto incluiu vários recursos importantes para converter documentos de da Microsoft como Word, Excel e PowerPoint arquivos para outros de arquivos de suporte como PDF ou imagem etc. O seguinte exemplo explica como facilmente os programadores de software podem carregar e converter um arquivo Microsoft Word Docx para PDF arquivo com apenas algumas de código.
Converter Office Docx Arquivo para PDF via 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();
}
}