bitget

Bitget交易所

Bitget交易所是全球前4大交易所之一、打新活动多、领空投到手软,新用户注册即可领取BGB空投

点击注册 立即下载

前言

此篇教程将讲解如何添加表格到Word文本框及怎样获取、删除文本框中已有的表格。Free Spire.Doc for Java是此次代码演示所用到的控件。它是一款免费、专业的Java Word组件,开发人员使用它可以轻松地在Java应用程序中创建、编辑、读取、转换和打印Word文档。同时,作为一款完全独立的组件,其运行环境无需安装Microsoft Office。

测试环境

在运行代码前,需将Free Spire.Doc for Java产品包中的Spire.Doc.jar导入IDEA。导入方式有两种:其一,在IDEA中创建一个Maven项目,然后在pom.xml文件里键入以下代码,最后点击“Import Changes”即可;

<repositories>        <repository>            <id>com.e-iceblue</id>            <url>http://repo.e-iceblue.cn/repository/maven-public/</url>        </repository></repositories><dependencies>    <dependency>        <groupId>e-iceblue</groupId>        <artifactId>spire.doc.free</artifactId>        <version>3.9.0</version>    </dependency></dependencies>

其二,在E-iceblue中文官网上下载产品包,解压后将lib文件夹下的Spire.Doc.jar手动导入IDEA。

代码示例

示例1 添加表格到Word文本框

在添加表格到文本框时,Free Spire.Doc for Java支持设置表格大小,位置及操作表格样式,如合并单元格、设置表格背景色、表格字体大小及颜色等。

import com.spire.doc.*;import com.spire.doc.documents.*;import com.spire.doc.fields.TextBox;import com.spire.doc.fields.TextRange;import java.awt.*;public class AddTable {    public static void main(String[] args) {        //创建文档        Document doc = new Document();        //添加指定大小的文本框        TextBox tb = doc.addSection().addParagraph().appendTextBox(380, 100);        //设置文本框的相对位置        tb.getFormat().setHorizontalOrigin(HorizontalOrigin.Left_Margin_Area);        tb.getFormat().setHorizontalPosition(120f);        tb.getFormat().setVerticalOrigin(VerticalOrigin.Page);        tb.getFormat().setVerticalPosition(50f);        //设置文本框边框样式        tb.getFormat().setLineStyle(TextBoxLineStyle.Thin_Thick);        tb.getFormat().setLineColor(Color.gray);        //声明数组内容        String[][] data = new String[][]{                new String[]{"Country List"},                new String[]{"Name", "Capital", "Continent", "Area"},                new String[]{"China", "Beijing", "East Asia", "9600000"},                new String[]{"Mexican", "Mexico City", "North America", "1964375"},        };        //添加表格        Table table = tb.getBody().addTable();        //指定表格行数、列数        table.resetCells(4,4);        //将数组内容填充到表格        for (int i = 0; i < data.length; i++) {            TableRow dataRow = table.getRows().get(i);            dataRow.getCells().get(i).setWidth(70);            dataRow.setHeight(22);            dataRow.setHeightType(TableRowHeightType.Exactly);            for (int j = 0; j < data[i].length; j++) {                dataRow.getCells().get(j).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);                TextRange range2 = dataRow.getCells().get(j).addParagraph().appendText(data[i][j]);                range2.getCharacterFormat().setFontName("Calibri");                range2.getCharacterFormat().setFontSize(11f);                range2.getOwnerParagraph().getFormat().setHorizontalAlignment(HorizontalAlignment.Center);                range2.getCharacterFormat().setBold(true);            }        }       //设置指定行的背景色        TableRow row = table.getRows().get(1);        for (int z = 0; z < row.getCells().getCount(); z++) {            row.getCells().get(z).getCellFormat().setBackColor(new Color(176,224,238));        }        //横向合并单元格        table.applyHorizontalMerge(0,0,3);        //应用表格样式        table.applyStyle(DefaultTableStyle.Table_Grid_5);        //保存文档        doc.saveToFile("output/AddTabletoTextbox.docx", FileFormat.Docx_2013);    }}

添加效果:

示例2 获取文本框中的表格信息

import com.spire.doc.*;import com.spire.doc.documents.*;import com.spire.doc.fields.*;import java.io.*;public class ReadTable {    public static void main(String[] args) throws IOException {        //加载示例文档        Document doc = new Document();        doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Test.docx");        //获取第一个文本框        TextBox textbox = doc.getTextBoxes().get(0);        //获取文本框中第一个表格        Table table = textbox.getBody().getTables().get(0);        //保存文本        String output = "output/readTableFromTextBox.txt";        File file = new File(output);        if (!file.exists()) {            file.delete();        }        file.createNewFile();        FileWriter fw = new FileWriter(file, true);        BufferedWriter bw = new BufferedWriter(fw);        //遍历表格中的段落并提取文本        for (int i = 0; i < table.getRows().getCount(); i++) {            TableRow row = table.getRows().get(i);            for (int j = 0; j < row.getCells().getCount(); j++) {                TableCell cell = row.getCells().get(j);                for (int k = 0; k < cell.getParagraphs().getCount(); k++) {                    Paragraph paragraph = cell.getParagraphs().get(k);                    bw.write(paragraph.getText() + "\t");                }            }            bw.write("\r\n");        }        bw.flush();        bw.close();        fw.close();    }}

效果图:

示例3 删除文本框中的表格

import com.spire.doc.*;import com.spire.doc.fields.*;public class DeleteTable {    public static void main(String[] args) {        //加载示例文档        Document doc = new Document();        doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Test.docx");        //获取第一个文本框        TextBox textbox = doc.getTextBoxes().get(0);        //获取文本框中第一个表格        Table table = textbox.getBody().getTables().get(0);        //删除第一个表格        textbox.getBody().getTables().removeAt(0);        //保存文档        String output = "output/deleteTableFromTextBox.docx";        doc.saveToFile(output, FileFormat.Docx_2013);    }}
bitget

Bitget交易所

Bitget交易所是全球前4大交易所之一、打新活动多、领空投到手软,新用户注册即可领取BGB空投

点击注册 立即下载

Bitget交易所

Bitget交易所V

前言此篇教程将讲解如何添加表格到文本框及怎样获取删除文本框中已有的表格是此次代码演示所用到的控件它是一款免费专业的组件开发人员使用它可以轻松地在应用程序中创建编辑读取转换和打印文档同时作为一款完全独立的组件其运行环境无需安装测试环境在运行代码前需将产品包中的导入导入方式有两种其一在中创建一个项目然后...

文章数
0 评论数
浏览数

最近发表

热门文章

标签列表

目录[+]