Generovat tabulku z Datatable
Zavedení
Vytváření tabulek dynamicky z datových zdrojů je běžným úkolem mnoha aplikací. Ať už generujete sestavy, faktury nebo souhrny dat, možnost programově naplnit tabulku daty vám může ušetřit spoustu času a úsilí. V tomto tutoriálu prozkoumáme, jak vygenerovat tabulku z DataTable pomocí Aspose.Words for Java. Rozdělíme proces do zvládnutelných kroků, abychom zajistili, že budete jasně rozumět každé části.
Předpoklady
Než se ponoříte do kódu, ujistěte se, že máte vše, co potřebujete, abyste mohli začít:
Java Development Kit (JDK): Ujistěte se, že máte na svém počítači nainstalovaný JDK. Můžete si jej stáhnout z Web společnosti Oracle .
Aspose.Words for Java: Budete potřebovat knihovnu Aspose.Words. Nejnovější verzi si můžete stáhnout z Stránka vydání Aspose .
IDE: Integrované vývojové prostředí (IDE) jako IntelliJ IDEA nebo Eclipse usnadní kódování.
Základní znalost Javy: Znalost konceptů programování v Javě vám pomůže lépe porozumět úryvkům kódu.
Ukázková data: V tomto tutoriálu použijeme soubor XML s názvem „Seznam lidí.xml“ k simulaci zdroje dat. Tento soubor můžete vytvořit s ukázkovými daty pro testování.
Krok 1: Vytvořte nový dokument
Nejprve musíme vytvořit nový dokument, kde bude naše tabulka umístěna. Toto je plátno pro naši práci.
Document doc = new Document();
Zde vytvoříme novýDocument
objekt. To bude sloužit jako náš pracovní dokument, kde budeme sestavovat naši tabulku.
Krok 2: Inicializujte DocumentBuilder
Dále použijemeDocumentBuilder
třídy, což nám umožňuje snáze manipulovat s dokumentem.
DocumentBuilder builder = new DocumentBuilder(doc);
TheDocumentBuilder
objekt poskytuje metody pro vkládání tabulek, textu a dalších prvků do dokumentu.
Krok 3: Nastavte orientaci stránky
Protože očekáváme, že naše tabulka bude široká, nastavíme orientaci stránky na šířku.
doc.getFirstSection().getPageSetup().setOrientation(Orientation.LANDSCAPE);
Tento krok je zásadní, protože zajišťuje, že se náš stůl hezky vejde na stránku, aniž by byl oříznut.
Krok 4: Načtení dat z XML
Nyní musíme načíst naše data ze souboru XML do souboru aDataTable
. Odtud pocházejí naše data.
DataSet ds = new DataSet();
ds.readXml(getMyDir() + "List of people.xml");
DataTable dataTable = ds.getTables().get(0);
Zde si přečteme soubor XML a načteme první tabulku z datové sady. TentoDataTable
bude obsahovat data, která chceme zobrazit v našem dokumentu.
Krok 5: Importujte tabulku z DataTable
Nyní přichází ta vzrušující část: import našich dat do dokumentu jako tabulky.
Table table = importTableFromDataTable(builder, dataTable, true);
Metodu nazývámeimportTableFromDataTable
, kolemDocumentBuilder
, našeDataTable
a boolean označující, zda se mají zahrnout záhlaví sloupců.
Krok 6: Upravte styl tabulky
Jakmile máme náš stůl, můžeme použít nějaký styl, aby vypadal dobře.
table.setStyleIdentifier(StyleIdentifier.MEDIUM_LIST_2_ACCENT_1);
table.setStyleOptions(TableStyleOptions.FIRST_ROW | TableStyleOptions.ROW_BANDS | TableStyleOptions.LAST_COLUMN);
Tento kód aplikuje na tabulku předdefinovaný styl, čímž zvyšuje její vizuální přitažlivost a čitelnost.
Krok 7: Odstraňte nežádoucí buňky
Pokud máte nějaké sloupce, které nechcete zobrazit, například sloupec obrázků, můžete je snadno odstranit.
table.getFirstRow().getLastCell().removeAllChildren();
Tento krok zajistí, že naše tabulka zobrazí pouze relevantní informace.
Krok 8: Uložte dokument
Nakonec náš dokument s vygenerovanou tabulkou uložíme.
doc.save(getArtifactsDir() + "WorkingWithTables.BuildTableFromDataTable.docx");
Tento řádek uloží dokument do určeného adresáře, což vám umožní zkontrolovat výsledky.
Metoda importTableFromDataTable
Pojďme se blíže podívat naimportTableFromDataTable
metoda. Tato metoda je zodpovědná za vytvoření struktury tabulky a její naplnění daty.
Krok 1: Spusťte tabulku
Nejprve musíme v dokumentu spustit novou tabulku.
Table table = builder.startTable();
Tím se inicializuje nová tabulka v našem dokumentu.
Krok 2: Přidejte záhlaví sloupců
Pokud chceme zahrnout záhlaví sloupců, zaškrtnemeimportColumnHeadings
vlajka.
if (importColumnHeadings) {
// Uložte původní formátování
boolean boldValue = builder.getFont().getBold();
int paragraphAlignmentValue = builder.getParagraphFormat().getAlignment();
// Nastavte formátování nadpisu
builder.getFont().setBold(true);
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
// Vložte názvy sloupců
for (DataColumn column : dataTable.getColumns()) {
builder.insertCell();
builder.writeln(column.getColumnName());
}
builder.endRow();
// Obnovte původní formátování
builder.getFont().setBold(boldValue);
builder.getParagraphFormat().setAlignment(paragraphAlignmentValue);
}
Tento blok kódu formátuje řádek záhlaví a vkládá názvy sloupců zDataTable
.
Krok 3: Naplňte tabulku daty
Nyní projdeme každou řadouDataTable
pro vložení dat do tabulky.
for (DataRow dataRow : (Iterable<DataRow>) dataTable.getRows()) {
for (Object item : dataRow.getItemArray()) {
builder.insertCell();
switch (item.getClass().getName()) {
case "DateTime":
Date dateTime = (Date) item;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMMM d, yyyy");
builder.write(simpleDateFormat.format(dateTime));
break;
default:
builder.write(item.toString());
break;
}
}
builder.endRow();
}
této části zpracováváme různé typy dat, přiměřeně formátujeme data a vkládáme jiná data jako text.
Krok 4: Ukončete tabulku
Po vložení všech dat nakonec tabulku dokončíme.
builder.endTable();
Tento řádek označuje konec naší tabulky a umožňujeDocumentBuilder
abychom věděli, že jsme s touto částí skončili.
Závěr
A tady to máte! Úspěšně jste se naučili, jak generovat tabulku z DataTable pomocí Aspose.Words for Java. Pomocí těchto kroků můžete snadno vytvářet dynamické tabulky ve svých dokumentech na základě různých zdrojů dat. Ať už generujete sestavy nebo faktury, tato metoda zefektivní váš pracovní postup a zlepší váš proces vytváření dokumentů.
FAQ
Co je Aspose.Words for Java?
Aspose.Words for Java je výkonná knihovna pro vytváření, manipulaci a převod dokumentů aplikace Word programově.
Mohu používat Aspose.Words zdarma?
Ano, Aspose nabízí bezplatnou zkušební verzi. Můžete si jej stáhnout z zde .
Jak upravím styl tabulek v Aspose.Words?
Styly můžete aplikovat pomocí předdefinovaných identifikátorů stylů a voleb poskytovaných knihovnou.
Jaké typy dat mohu vkládat do tabulek?
Můžete vložit různé typy dat, včetně textu, čísel a dat, které lze odpovídajícím způsobem naformátovat.
Kde mohu získat podporu pro Aspose.Words?
Podporu a dotazy můžete najít na Aspose fórum .