1. Produkter
  2.   Ordbehandling
  3.   Ruby
  4.   OpenXml::Docx
 
  

Open Source Ruby-bibliotek för att skapa Word-dokument och lägga till tabeller

Gratis Ruby Gem (bibliotek) som möjliggör skapandet av Microsoft Word .docx-filer med Office Open XML (OOXML)-formatet och lägga till textstycken, tabeller och bilder i DOCX-filer.

Vad är OpenXml::Docx?

Microsoft Word-dokument har blivit standarden för affärskommunikation, rapporter och dokumentation inom alla branscher. Även om manuell dokumentskapning fungerar för små uppgifter blir automatisering av dokumentgenerering nödvändig när man hanterar mallar, massoperationer eller dynamiskt innehåll. Det är här OpenXml::Docx kommer in i bilden – ett Ruby-bibliotek som ger mjukvaruutvecklare möjlighet att programatiskt skapa professionella Word-dokument. Biblioteket kör var som helst Ruby kör, utan externa beroenden. Biblioteket har flera viktiga funktioner, såsom att skapa nya Word-dokument, tillämpa textformatering och styling, tabeller och datapresentation, bilder och mediaintegration med mera.

OpenXml::Docx är ett Ruby-gem som erbjuder ett rent och intuitivt gränssnitt för att generera Word-dokument i Open XML-formatet (den .docx‑ändelse vi alla känner till). Till skillnad från tunga lösningar som kräver installation av Microsoft Office, fungerar detta bibliotek självständigt och skapar dokument från grunden med ren Ruby‑kod. Det följer Office Open XML-standarden, vilket säkerställer kompatibilitet med Microsoft Word, Google Docs, LibreOffice och andra moderna ordbehandlare. Biblioteket fokuserar på enkelhet och läsbarhet, vilket gör dokumentgenerering tillgänglig även för utvecklare som inte är bekanta med den komplexa underliggande XML‑strukturen i Word-dokument. Istället för att kämpa med XML‑namnrymder och scheman kan du skriva rak Ruby‑kod som känns naturlig och underhållbar.

Previous Next

Kom igång med OpenXml::Docx

Det rekommenderade sättet att installera OpenXml::Docx är att använda RubyGems. Använd följande kommando för en smidig installation.

Installera OpenXml::Docx via RubyGems

 gem install openxml-docx
You can also download it directly from GitHub.

Skapa ditt första DOCX-dokument

Det öppna källkodsbiblioteket OpenXml::Docx har inkluderat fullt stöd för att skapa och hantera nya Word-dokument i Java-applikationer. Det grundläggande byggblocket i ett Word-dokument är stycket. Med bara ett par rader kod kan mjukvaruutvecklare lägga till text och bilder i Word-dokument. Här är ett enkelt exempel som visar hur utvecklare kan komma åt dokumentets kropp, lägga till ett stycke med en textrun, tillämpa formatering och spara filen.

Hur skapar man ett Word-dokument och lägger till ett stycke med text via Java API?

require 'openxml/docx'

# Create a new document package
package = OpenXml::Docx::Package.new

# Access the main document
doc = package.document

# Add a paragraph with text
paragraph = doc.add_paragraph
run = paragraph.add_run
run.text = "Welcome to OpenXml::Docx"
run.bold = true
run.font_size = 24

# Save the document
package.save('welcome.docx')

Avancerad textformatering via Java

Det öppna källkodsbiblioteket OpenXml::Docx erbjuder komplett stöd för både grundläggande och avancerad textformatering i Word-dokument. Utöver enkel fetstil och kursiv stödjer biblioteket sofistikerad textformatering. Följande Java‑kodexempel visar understrykningar, genomstrykningar, markeringar och kombinationer av flera effekter. Färgegenskapen accepterar hexvärden, vilket möjliggör exakt färgmatchning mot varumärkesriktlinjer.

Hur applicerar man textformatering på Word-dokument via Java API?

require 'openxml/docx'

package = OpenXml::Docx::Package.new
doc = package.document

# Demonstrate various text effects
para1 = doc.add_paragraph
run1 = para1.add_run
run1.text = "This text is underlined"
run1.underline = :single

para2 = doc.add_paragraph
run2 = para2.add_run
run2.text = "This text has a strikethrough"
run2.strike = true

para3 = doc.add_paragraph
run3 = para3.add_run
run3.text = "This text is highlighted"
run3.highlight = "yellow"

para4 = doc.add_paragraph
run4 = para4.add_run
run4.text = "This combines multiple effects"
run4.bold = true
run4.italic = true
run4.color = "FF0000"
run4.font_size = 16

package.save('formatted_text.docx')

Skapa tabeller för data i Word-filer via Java

Tabeller är väsentliga för att presentera strukturerad information. OpenXml::Docx‑biblioteket gör det enkelt för mjukvaruutvecklare att skapa tabeller i Word-dokument för att hantera data på ett korrekt sätt i Java-applikationer. Här är ett praktiskt exempel som skapar en professionell försäljningstabell med en rubrikrad i fetstil och tre datarader. Koden visar hur man får åtkomst till specifika celler och fyller dem med innehåll. Du kan iterera genom datastrukturer och dynamiskt fylla tabeller, vilket gör detta perfekt för rapportgenerering.

Hur skapar man en tabell med rader och kolumner i Java-appar?

require 'openxml/docx'

package = OpenXml::Docx::Package.new
doc = package.document

# Add a heading
heading = doc.add_paragraph
heading_run = heading.add_run
heading_run.text = "Sales Summary"
heading_run.bold = true
heading_run.font_size = 18

# Create a table with 3 columns and 4 rows
table = doc.add_table(rows: 4, cols: 3)

# Header row
table.rows[0].cells[0].add_paragraph.add_run.text = "Product"
table.rows[0].cells[1].add_paragraph.add_run.text = "Units Sold"
table.rows[0].cells[2].add_paragraph.add_run.text = "Revenue"

# Make header row bold
table.rows[0].cells.each do |cell|
  cell.paragraphs[0].runs[0].bold = true
end

# Data rows
products = [
  ["Widget A", "1,250", "$25,000"],
  ["Widget B", "890", "$17,800"],
  ["Widget C", "2,100", "$42,000"]
]

products.each_with_index do |product, index|
  row = table.rows[index + 1]
  product.each_with_index do |value, col_index|
    row.cells[col_index].add_paragraph.add_run.text = value
  end
end

package.save('sales_summary.docx')

Automatiserad rapport- och fakturagenerering

Företag kan använda OpenXml::Docx‑biblioteket för att automatiskt generera månadsrapporter, finansiella rapporter eller analytiska sammanfattningar. Genom att hämta data från databaser och formatera det till professionella dokument sparar organisationer otaliga timmar av manuellt arbete. Dessutom kan e‑handelsplattformar och tjänsteföretag generera fakturor och kontrakt dynamiskt. Kundinformation, radposter och villkor kan fyllas i från databaser, vilket säkerställer noggrannhet och konsekvens i alla dokument.

 Svenska