1. Produkter
  2.   Kalkylblad
  3.   Java
  4.   Documents4J
 
  

Open Source Java Library för kalkylarksdokument

Konvertera Excel-filer i Java-appar via Open Source API.

Documents4J är ett Java API med öppen källkod från att konvertera Microsoft Excel till andra filformat. Detta uppnås genom att delegera konverteringen till valfri inbyggd applikation som förstår konverteringen av den givna filen till det önskade målformatet. API:et erbjuder två typer av implementeringar lokala och fjärranslutna. Med hjälp av den lokala versionen kan dokumentet konverteras på samma maskin som är kabel för att konvertera det begärda filformatet. Med hjälp av Remote API skickar du ett dokument till servern med REST-API och servern utför den begärda konverteringen.

Documents4J är transparent och enkel att använda. Utvecklare kan arbeta med den lokala versionen av API:t medan utveckling och fjärrversionen kan användas när utvecklarna publicerar appen i produktionen.

Previous Next

Komma igång med Documents4J

Först och främst måste du skapa en kopia av documents4j på din lokala dator. Helt enkelt klona documents4js arkiv genom att använda git eller genom att klona det direkt på GitHub. När förvaret är klonat kan du bygga projektet med Mave

Installera Documents4J via GitHub


git clone https://github.com/documents4j/documents4j.git
cd documents4j
mvn package
            

Konvertera Microsoft Excel med Java

Documents4J är ett flytande API för att utföra dokumentkonvertering. API:et avslöjar inga detaljer om implementeringen av stödomvandlaren. För att utföra dokumentkonvertering erbjuder API:et IConverter-gränssnitt. Med detta gränssnitt kan du konvertera Microsoft Excel-filformatet till önskat filformat. För att ta reda på vilka konverteringsfilformat som stöds kan du fråga getSupportedConversion()-metoden som returnerar källan och målfilformaten.

Konvertera Excel-fil till andra filformat 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)) )

Konvertera Office-dokument till PDF via Java

Open source Documents4J-biblioteket har inkluderat flera viktiga funktioner för att konvertera Microsoft-kontorsdokument som Word, Excel och PowerPoint-filer till andra supportfilformat som PDF eller bild etc. Följande exempel visade hur lätt kan programmerare ladda och konverterar en Microsoft Word Docx-fil till PDF-fil med bara ett par rader av kod.

Konvertera Office Docx Fil till PDF via Java bibliotek


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();
}
}
 Svenska