精华内容
下载资源
问答
  • Java插入表格(JTable)及在表格中加入复选框
    千次阅读
    2019-07-22 09:30:09

     

    package menu;
    
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.Font;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.Vector;
    
    import javax.swing.JCheckBox;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.table.DefaultTableCellRenderer;
    import javax.swing.table.DefaultTableModel;
    import javax.swing.table.JTableHeader;
    import javax.swing.table.TableCellRenderer;
    
    import javafx.scene.control.TableColumn;
    
    public class TableDemo extends JFrame{
    	static JTable table;
    	public TableDemo() {
    		
    		setSize(600, 600);
    		setLocationRelativeTo(null);
    		
    		/*创建表格*/
    		DefaultTableModel model = new DefaultTableModel();
    		model.addColumn("编号",new Vector<Integer>());
    		model.addColumn("书名", new Vector<String>());
    		model.addColumn("作者", new Vector<String>());
    		model.addColumn("是否选中", new Vector<String>());
    		
    		table = new JTable(model);
    		JScrollPane jp = new JScrollPane(table);
    		for(int i = 0;i < 20 ;i ++) {
    			model.addRow(new Vector<String>());
    		}
    		
    
    		JTableHeader head = table.getTableHeader();
    		//设置表头的大小
    		head.setPreferredSize(new Dimension(head.getWidth(),30));
    		//设置表头字体大小
    		head.setFont(new Font("宋体",Font.BOLD,16));
    		//设置表格的行宽
    		table.setRowHeight(30);
    		//设置表格行中字体大小
    		table.setFont(new Font("宋体",Font.ROMAN_BASELINE,13));
    		/*设置表格中的内容居中*/
    		DefaultTableCellRenderer renderer=new DefaultTableCellRenderer();
    		renderer.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
    		table.setDefaultRenderer(Object.class, renderer);
    		
    		/*定义复选框*/
    		JCheckBox box = new JCheckBox();
    		
    		/*getColumn()中数字填对应的第几行添加复选框*/
    		table.getColumnModel().getColumn(3).setCellRenderer(new TableCellRenderer() {
    			
    			@Override
    			public Component getTableCellRendererComponent(JTable table, Object value,
    					boolean isSelected, boolean hasFocus,int row, int column) {
    				
    				
    				/*设置当复选框被选中整行被渲染*/
    				box.setSelected(isSelected);
    				
    				/*设置复选框在单元格中居中*/
    				box.setHorizontalAlignment((int) 0.5f);
    				
    				return box;
    			}
    			
    		});
    		
    		this.add(jp);
    		setVisible(true);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		
    	}
    	public static void main(String[] args) {
    		TableDemo t = new TableDemo();
    	}
    }
    

    效果:

    更多相关内容
  • java使用poi操作.doc word模板替换,循环插入表格
  • 主要介绍了Java在PDF添加表格过程详解,本文将介绍通过Java编程在PDF文档添加表格的方法。添加表格时,可设置表格边框、单元格对齐方式、单元格背景色、单元格合并、插入图片、设置行高、列宽、字体、字号等,...
  • 如何用java生成动态word表格,以及在表格中插入图片是一个难题,花了两天时间做出来的,希望对大家有帮助 需要jar包:iText-2.1.7.jar, iText-rtf-2.1.7.jar, iTextAsian.jar和jxl.jar 注意前两个jar包的版本要能...
  • Word的table操作需要借助数据区域...而table的插入,既可以在Word模版书签处手动插入:工具栏“插入”→“表格”,亦可以在程序通过数据区域动态添加。下面介绍一下动态添加表格的具体步骤1:给Word模板创建...

    Word中的table操作需要借助数据区域(DataRegion)实现的,要求数据区域完整的包含了整个Table的内容,这样才可以通过数据区域控制和操作table。因此,要想使用table,则必须在word文件中插入书签。而table的插入,既可以在Word模版中书签处手动插入:工具栏“插入”→“表格”,亦可以在程序中通过数据区域动态添加。

    下面介绍一下动态添加表格的具体步骤

    1:给Word模板中创建一个书签。(两种方法)

    (1)可以在word 模板中手动添加一个书签:工具栏“插入”→“书签”

    165546a14ff2de3f8d52c638c42c28de.png

    (2)用 pageoffice 动态创建一个数据区域(书签)

    969844bd9537697dba87dd46d5c380ed.png

    2:插入表格

    a724ca279548929d6381b875e6c48ff5.png

    2:具体的代码

    import="com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*"%>

    PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);

    WordDocument doc = new WordDocument();

    //在word中指定的"PO_table1"的数据区域内动态创建一个3行5列的表格

    Table table1 = doc.openDataRegion("PO_table").createTable(3,5,WdAutoFitBehavior.wdAutoFitWindow);

    //合并(1,1)到(3,1)的单元格并赋值

    table1.openCellRC(1,1).mergeTo(3,1);

    table1.openCellRC(1,1).setValue("合并后的单元格");

    //给表格table1中剩余的单元格赋值

    for(int i=1;i<4;i++){

    table1.openCellRC(i, 2).setValue("AA" + String.valueOf(i));

    table1.openCellRC(i, 3).setValue("BB" + String.valueOf(i));

    table1.openCellRC(i, 4).setValue("CC" + String.valueOf(i));

    table1.openCellRC(i, 5).setValue("DD" + String.valueOf(i));

    }

    //在"PO_table1"后面动态创建一个新的数据区域"PO_table2",用于创建新的一个5行5列的表格table2

    DataRegion drTable2= doc.createDataRegion("PO_table2", DataRegionInsertType.After, "PO_table1");

    Table table2=drTable2.createTable(5,5,WdAutoFitBehavior.wdAutoFitWindow);

    //给新表格table2赋值

    for(int i=1;i<6;i++){

    table2.openCellRC(i, 1).setValue("AA" + String.valueOf(i));

    table2.openCellRC(i, 2).setValue("BB" + String.valueOf(i));

    table2.openCellRC(i, 3).setValue("CC" + String.valueOf(i));

    table2.openCellRC(i, 4).setValue("DD" + String.valueOf(i));

    table2.openCellRC(i, 5).setValue("EE" + String.valueOf(i));

    }

    poCtrl.setWriter(doc);//此行必须

    poCtrl.setServerPage(request.getContextPath()+"/poserver.zz");

    poCtrl.webOpen("doc/createTable.doc", OpenModeType.docNormalEdit,"张佚名");

    %>

    Word中动态创建表格

    最终效果

    8f94bae490b055d5093a6d82c7a43868.png

    大家可以去pageoffice官网下载示例代码直接将samples4文件夹扔到Tomcat的webapps下,启动Tomcat,浏览器访问。

    0b1523a1b9e8eec3de4e84a39af72517.png

    2726d672933bec29a1fc958371573c1b.png

    展开全文
  • java aspose 插入表格行、添加表格行 首先定义一个需要的测试数据 for (int i = 0; i < 100; i ++){ AircraftMaterialsEntity aircraftMaterialsEntity = new AircraftMaterialsEntity(); ...

    java aspose 插入表格行、添加表格行

    首先定义一个需要的测试数据

    for (int i = 0; i < 100; i ++){
                AircraftMaterialsEntity aircraftMaterialsEntity = new AircraftMaterialsEntity();
                aircraftMaterialsEntity.setId(i);
                aircraftMaterialsEntity.setIssuereportno(String.valueOf(i));
                aircraftMaterialsEntity.setQtyorunit(String.valueOf(i));
                aircraftMaterialsEntity.setBatchno(String.valueOf(i));
                aircraftMaterialsEntity.setSerialno(String.valueOf(i));
                aircraftMaterialsEntity.setPartno(String.valueOf(i));
                aircraftMaterialsEntity.setDescription(String.valueOf(i));
                list.add(aircraftMaterialsEntity);
            }
    

    下面才是正题

    • 首先拿到所有的表格

      在这里插入图片描述

    • 找到你想要的表格,我用的是最后一个表格

      在这里插入图片描述

    • 循环放值,如果只是一行就不用循环了,我相信代码大家还是能看懂能修改的
      在这里插入图片描述

    • createRow是方法,提出的公共的,完整代码放在下方

    • table1.getRows().insert(0,row); 这个是插入
      “0” 的位置是你想要在哪插入,从0开始
      “row”是上面返回的值

    效果图:
    在这里插入图片描述
    为什么是倒序,因为是一行一行的插入的,每次插入的都是在最上面

    • table1.getRows().add(row) ; 这个是在所选表的末尾添加行

    效果图:在这里插入图片描述
    这个就没什么疑问了吧

    下面附上完整代码

    			Document doc = new Document(Paths.WORDTEMPLATEPATH + "9999999999999.docx");
                DocumentBuilder builder = new DocumentBuilder(doc);
                //拿到所有表格
                NodeCollection allTables = doc.getChildNodes(NodeType.TABLE, true);
                // 拿到最后一个表格
                Table table1 = (Table) allTables.get(allTables.getCount()-1);
                for (AircraftMaterialsEntity aircraftMaterialsEntity : list){
                    //创建一行
                    Row row = CreateRow(1, aircraftMaterialsEntity, doc);
                    //将此行插入第一行的上方
                    table1.getRows().insert(0,row);
                    //添加一行
                    table1.getRows().add(row);
                }
    

    方法代码:

    static Row CreateRow(int columnCount,AircraftMaterialsEntity aircraftMaterialsEntity,Document doc)
        {
            Row row = new Row(doc);
            for (int i = 0; i < columnCount; i++)
            {
                
                    Cell cell = CreateCell(String.valueOf(aircraftMaterialsEntity.getId()), doc);
                    row.getCells().add(cell);
                
                    Cell cell = CreateCell(aircraftMaterialsEntity.getIssuereportno(), doc);
                    row.getCells().add(cell);
                
                    Cell cell = CreateCell(aircraftMaterialsEntity.getQtyorunit(), doc);
                    row.getCells().add(cell);
                
                    Cell cell = CreateCell(aircraftMaterialsEntity.getBatchno(), doc);
                    row.getCells().add(cell);
                
                    Cell cell = CreateCell(aircraftMaterialsEntity.getSerialno(), doc);
                    row.getCells().add(cell);
                
                    Cell cell = CreateCell(aircraftMaterialsEntity.getPartno(), doc);
                    row.getCells().add(cell);
                
                    Cell cell = CreateCell(aircraftMaterialsEntity.getDescription(), doc);
                    row.getCells().add(cell);
                
            }
            return row;
        }
    

    此处调用了“格”的方法:

    static Cell CreateCell(String value,Document doc)
        {
            Cell cell = new Cell(doc);
            Paragraph p = new Paragraph(doc);
            p.appendChild(new Run(doc,value));
            cell.appendChild(p);
            return cell;
        }
    

    转载请注明出处:https://blog.csdn.net/omnipotent_wang/article/details/108095556

    展开全文
  • Java编程,如何向Word文档添加表格?注意:需要访问网址:http://poi.apache.org/download.html , 下载一个Apache POI软件包。这里下载最新版本:poi-bin-3.17-20170915.tar.gz解压并将全部.jar文件导入。...

    在Java编程中,如何向Word文档中添加表格?

    注意:需要访问网址:http://poi.apache.org/download.html , 下载一个Apache POI软件包。这里下载最新版本:poi-bin-3.17-20170915.tar.gz解压并将全部.jar文件导入。

    需要导入全部包,如下图所示 -

    fd034c962240a6dc82470a1023231eb7.png

    以下是向Word文档中添加表格的程序。

    package com.yiibai;

    import java.io.File;

    import java.io.FileOutputStream;

    import org.apache.poi.xwpf.usermodel.XWPFDocument;

    import org.apache.poi.xwpf.usermodel.XWPFTable;

    import org.apache.poi.xwpf.usermodel.XWPFTableRow;

    public class TablesToWord {

    public static void main(String[] args) throws Exception {

    // Blank Document

    XWPFDocument document = new XWPFDocument();

    // Write the Document in file system

    FileOutputStream out = new FileOutputStream(new File("create_table.docx"));

    // create table

    XWPFTable table = document.createTable();

    table.setWidth(1000);

    // create first row

    XWPFTableRow tableRowOne = table.getRow(0);

    tableRowOne.getCell(0).setText("1 x 1");

    tableRowOne.addNewTableCell().setText("2 x 1");

    tableRowOne.addNewTableCell().setText("3 x 1");

    // create second row

    XWPFTableRow tableRowTwo = table.createRow();

    tableRowTwo.getCell(0).setText("1 x 2");

    tableRowTwo.getCell(1).setText("2 x 2");

    tableRowTwo.getCell(2).setText("3 x 2");

    // create third row

    XWPFTableRow tableRowThree = table.createRow();

    tableRowThree.getCell(0).setText("1 x 3");

    tableRowThree.getCell(1).setText("2 x 3");

    tableRowThree.getCell(2).setText("3 x 3");

    document.write(out);

    out.close();

    System.out.println("create_table.docx written successully");

    }

    }

    执行上面示例代码,得到以下结果 -

    create_table.docx written successully

    生成的World文档,得到以下结果 -

    02cdf80177fe0ff3eaaa6dab990419e7.png

    ¥ 我要打赏

    纠错/补充

    收藏

    加QQ群啦,易百教程官方技术学习群

    注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

    展开全文
  • importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOExce...
  • Java Poi流根据Word模板插入相应的文本、表格和图片,并生成新的Word报告。文档提供相应的jar包和Word模板文件,表格支持动态添加数据,插入图片支持多种格式!
  • 网络上的根据模板填充Word我都看过一些, 它们的功能在数据换行的时候用的是run对象的.addCarriageReturn()方法,或者是直接用\n实现换行。这些都不符合我的需求, 因为我要的是分段,而不是换行。...
  • Java 在Word添加表格

    2021-02-12 13:50:41
    import com.spire.doc.*;import com.spire.doc.documents.*;import com.spire.doc.fields.DocPicture;import ...import java.awt.*;public class CreateTable {public static void main...
  • 需求:利用java实现向一个word文件特定位置插入表格以及数据值。 一、word模板文件编辑 1.1插入String内容 图片1:向word文件以上4处位置插入String内容。 图片2:向需要插入string内容的4个位置,插入域,选择...
  • 主要介绍了Java实现批量导入excel表格数据到数据库的方法,结合实例形式详细分析了java导入Excel数据到数据库的具体步骤与相关操作技巧,需要的朋友可以参考下
  • java poi生成word 并插入 表格

    千次阅读 2020-04-08 11:47:02
    java: public static void main(String[] args) { // 文档生成方法 XWPFDocument doc = new XWPFDocument(); XWPFParagraph p1 = doc.createParagraph(); // 创建段落 XWPFRun r1 = p1.crea...
  • java生成ppt在ppt中插入表格
  • 亲测导出pdf文件,含有表格 包含三个文件: public class PDFBuilder extends PdfPageEventHelper public class PDFUtil public class PDFReport 可直接在里面运行main方法 ...
  • java实现向word文档中插入柱状图,并更改颜色。 将docx转化为xml文件在进行操作
  • 本篇文章是对利用Aspose.Words,在word文档创建表格的实现方法进行了详细的分析介绍,需要的朋友参考下
  • 注释加入图片 /** * <img width="宽度" height="高度" src="图片url" alt=""> */ 图片URL自行挑选。我这里使用了某开源库的图片url: /** * The following is the design idea of this class: * &...
  • 1)、在项目引入jacob.jar 2)、将jacob-1.17-M2-x64.dll和jacob-1.17-M2-x86.dll文件放在jdk的path目录下面,通过System.getProperty("java.library.path");可以看到path路径,或者直接放到jdk/bin、jre/bin、...
  • 我的思路是:先将excel的数据取出来,再把数据传入数据库,操作excel需要jxl.jar,操作数据库可以用最基本的jdbc,需要mysql-connector-java-5.0.8-bin.jar这个jar包。 下面我们先看一下excel截图:   再来看最后...
  • 应公司业务要求,需要在world文档生成表格,最开始同事使用的freemarker操作xml标签可以实现world中插入表格, 但是每次修改模板需要改xml文件,几万行去找对应的标签然后修改,容易找错位置并且电脑非常卡,相当麻烦;...
  • 在不使用freemarker的情况下,如何根据Word模板,在指定位置插入表格
  • 主要为大家详细介绍了java实现批量导入Excel表格数据到数据库,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Java编程中,如何将数据从数据库插入到电子表格中?注意:需要访问网址:http://poi.apache.org/download.html , 下载一个Apache POI软件包。这里下载最新版本:poi-bin-3.17-20170915.tar.gz解压并将全部.jar...
  • 第一次传的时候少了实体类,这次代码传全了,连jar包都给大家准备好了,jar包导入WebRoot的WEB-INF的lib下三个类全部导入,自己准备几张图片,取好名字放在D盘,就可以用了

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 71,488
精华内容 28,595
关键字:

java中插入表格

java 订阅