精华内容
下载资源
问答
  • java打印表格 将ResultSet中的数据打印成表格问题描述MySQL的查询语句输出如下:mysql> select * from instructor;+-------+------------+------------+-----------+| ID | name | dept_name | salary |+-------+-...

    java打印表格 将ResultSet中的数据打印成表格

    问题描述

    MySQL的查询语句输出如下:

    mysql> select * from instructor;

    +-------+------------+------------+-----------+

    | ID    | name       | dept_name  | salary    |

    +-------+------------+------------+-----------+

    | 10101 | Srinivasan | Comp. Sci. | 65000.00  |

    | 12121 | Wu         | Finance    | 90000.00  |

    | 15151 | Mozart     | Music      | 40000.00  |

    | 22222 | Einstein   | Physics    | 95000.00  |

    | 25566 | Brown      | Biology    | 100000.00 |

    | 30765 | Green      | Music      | NULL      |

    | 32343 | El Said    | History    | 60000.00  |

    | 33456 | Gold       | Physics    | 87000.00  |

    | 45565 | Katz       | Comp. Sci. | 75000.00  |

    | 58583 | Califieri  | History    | 62000.00  |

    | 76543 | Singh      | Finance    | 80000.00  |

    | 76766 | Crick      | Biology    | 72000.00  |

    | 77987 | Kim        | Physics    | 98000.00  |

    | 83821 | Brandt     | Comp. Sci. | 92000.00  |

    | 88877 | Perry      | Finance    | 125000.00 |

    | 88878 | Perry      | Finance    | 125000.00 |

    | 98345 | Kim        | Elec. Eng. | 80000.00  |

    +-------+------------+------------+-----------+

    17 rows in set (0.04 sec)

    使用JDBC执行上述的查询语句,将结果集中的查询结果以表格的形式打印出来。

    思路

    通过结果集的元数据可以知道结果集中的列数,和列名.然后遍历结果集,分别统计每一列中的最大字符数。然后通过System.out.printf()方法进行格式化输出。

    实现

    package tools;

    import java.sql.ResultSet;

    import java.sql.ResultSetMetaData;

    import java.sql.SQLException;

    import java.util.ArrayList;

    import java.util.Iterator;

    /**

    * 结果集打印机.将结果集中的数据打印成表格.

    */

    public class ResultSetPrinter {

    public static void printResultSet(ResultSet rs) throws SQLException {

    ResultSetMetaData resultSetMetaData = rs.getMetaData();

    // 获取列数

    int ColumnCount = resultSetMetaData.getColumnCount();

    // 保存当前列最大长度的数组

    int[] columnMaxLengths = new int[ColumnCount];

    // 缓存结果集,结果集可能有序,所以用ArrayList保存变得打乱顺序.

    ArrayList results = new ArrayList<>();

    // 按行遍历

    while (rs.next()) {

    // 保存当前行所有列

    String[] columnStr = new String[ColumnCount];

    // 获取属性值.

    for (int i = 0; i < ColumnCount; i++) {

    // 获取一列

    columnStr[i] = rs.getString(i + 1);

    // 计算当前列的最大长度

    columnMaxLengths[i] = Math.max(columnMaxLengths[i], (columnStr[i] == null) ? 0 : columnStr[i].length());

    }

    // 缓存这一行.

    results.add(columnStr);

    }

    printSeparator(columnMaxLengths);

    printColumnName(resultSetMetaData, columnMaxLengths);

    printSeparator(columnMaxLengths);

    // 遍历集合输出结果

    Iterator iterator = results.iterator();

    String[] columnStr;

    while (iterator.hasNext()) {

    columnStr = iterator.next();

    for (int i = 0; i < ColumnCount; i++) {

    // System.out.printf("|%" + (columnMaxLengths[i] + 1) + "s", columnStr[i]);

    System.out.printf("|%" + columnMaxLengths[i] + "s", columnStr[i]);

    }

    System.out.println("|");

    }

    printSeparator(columnMaxLengths);

    }

    /**

    * 输出列名.

    *

    * @param resultSetMetaData 结果集的元数据对象.

    * @param columnMaxLengths  每一列最大长度的字符串的长度.

    * @throws SQLException

    */

    private static void printColumnName(ResultSetMetaData resultSetMetaData, int[] columnMaxLengths) throws SQLException {

    int columnCount = resultSetMetaData.getColumnCount();

    for (int i = 0; i < columnCount; i++) {

    // System.out.printf("|%" + (columnMaxLengths[i] + 1) + "s", resultSetMetaData.getColumnName(i + 1));

    System.out.printf("|%" + columnMaxLengths[i] + "s", resultSetMetaData.getColumnName(i + 1));

    }

    System.out.println("|");

    }

    /**

    * 输出分隔符.

    *

    * @param columnMaxLengths 保存结果集中每一列的最长的字符串的长度.

    */

    private static void printSeparator(int[] columnMaxLengths) {

    for (int i = 0; i < columnMaxLengths.length; i++) {

    System.out.print("+");

    // for (int j = 0; j < columnMaxLengths[i] + 1; j++) {

    for (int j = 0; j < columnMaxLengths[i]; j++) {

    System.out.print("-");

    }

    }

    System.out.println("+");

    }

    }

    测试

    package tools;

    import java.sql.*;

    public class Test {

    private static String driver = "com.mysql.cj.jdbc.Driver";

    private static String URL = "jdbc:mysql://127.0.0.1:3306/university?serverTimezone=UTC";

    private static String user = "root";

    private static String password = "root";

    /**

    * JDBC测试.

    */

    private static void JDBCexample() {

    // 1.加载数据库驱动

    try {

    Class.forName(driver);

    } catch (ClassNotFoundException e) {

    e.printStackTrace();

    }

    testStatement();

    }

    /**

    * 测试Statement的用法.

    */

    private static void testStatement() {

    try (// 2.打开数据库连接

    Connection conn = DriverManager.getConnection(URL, user, password);

    // 3.创建语句

    Statement stmt = conn.createStatement()) {

    // 模拟SQL注入

    testSqlInjecton(stmt);

    } catch (SQLException sqle) {

    System.out.println("SQLException : " + sqle);

    }

    }

    /**

    * 模拟SQL注入.

    *

    * @param stmt Statement对象.

    * @throws SQLException

    */

    private static void testSqlInjecton(Statement stmt) throws SQLException {

    String name = "X' or 'Y' = 'Y";

    String sql = "select * from instructor where name = '" + name + "'";

    ResultSet rs = stmt.executeQuery(sql);

    ResultSetPrinter.printResultSet(rs);

    }

    public static void main(String[] args) {

    JDBCexample();

    }

    }

    运行结果

    +-----+----------+----------+---------+

    |   ID|      name| dept_name|   salary|

    +-----+----------+----------+---------+

    |10101|Srinivasan|Comp. Sci.| 65000.00|

    |12121|        Wu|   Finance| 90000.00|

    |15151|    Mozart|     Music| 40000.00|

    |22222|  Einstein|   Physics| 95000.00|

    |25566|     Brown|   Biology|100000.00|

    |30765|     Green|     Music|     null|

    |32343|   El Said|   History| 60000.00|

    |33456|      Gold|   Physics| 87000.00|

    |45565|      Katz|Comp. Sci.| 75000.00|

    |58583| Califieri|   History| 62000.00|

    |76543|     Singh|   Finance| 80000.00|

    |76766|     Crick|   Biology| 72000.00|

    |77987|       Kim|   Physics| 98000.00|

    |83821|    Brandt|Comp. Sci.| 92000.00|

    |88877|     Perry|   Finance|125000.00|

    |88878|     Perry|   Finance|125000.00|

    |98345|       Kim|Elec. Eng.| 80000.00|

    +-----+----------+----------+---------+

    原文链接: java打印表格 将ResultSet中的数据打印成表格

    展开全文
  • 在这里我我有部分功能是要将一张表格通过java调用打印机打印出来,这里要用到java的Printable接口Printable 接口由当前页面 painter 的 print 方法实现,该方法由打印系统调用,以呈现页面。构建 Pageable 时,使用 ...

    在这里我我有部分功能是要将一张表格通过java调用打印机打印出来,这里要用到java的Printable接口

    Printable 接口由当前页面 painter 的 print 方法实现,该方法由打印系统调用,以呈现页面。构建 Pageable 时,使用 PageFormat 实例和实现此接口的实例构成的实例用于描述每个页面。调用实现 Printable 的实例,以打印页面的图形。

    在 PrinterJob 上可以设置 Printable(..)。当客户端随后通过调用 PrinterJob.print(..) 启动打印时,控制被传送到打印系统,直到所有的页面完成打印。这是通过在文档中所有页面打印完成前一直调用 Printable.print(..) 来实现的。使用 Printable 接口时,只要打印系统请求,该打印就将页面内容提交给图像。

    Printable.print(..) 的参数包括描述该页面可打印区域(计算适合该页面的内容所需要的区域)的 PageFormat 和页面索引(它指定请求页面的从 0 开始的打印流索引)。

    在这里我通过链表来获取表格内容,以实现动态改变要打印出来的表格的大小,而我在打印方法中是用二维数组来实现打印和定位的,

    因此有了个蛋痛的将链表转化为一维数组,然后又将一维数组转化为二维数组的过程。

    链表转化为一维数组可以直接用toarray()方法

    而一维数组转化为二维数组,int n = 4;//列

    int m = osf.getInfoStrings().length/n;//行

    String[][] data1 = new String[m][n];

    int num = -1;

    for (int i = 0; i < m; i++) {

    for (int j = 0; j < n; j++) {

    num++;

    data1[i][j] = (String)osf.getInfoStrings()[num];

    }

    }

    重要的实现部分就是,画出表格然后打印

    为了使打印窗口显示在最前面,这里是在JDialog上画的表格

    jdialog = new JDialog();

    jdialog.addWindowListener(new WindowAdapter(){

    public void windowClosing(WindowEvent e){

    System.exit(0);}});

    TableModel dataModel = new AbstractTableModel() {

    public int getColumnCount() {

    return headers.length; }

    public int getRowCount() { return data.length;}

    public Object getValueAt(int row, int col) {

    return data[row][col];}

    public String getColumnName(int column) {

    return headers[column];}

    public Class getColumnClass(int col) {

    return getValueAt(0,col).getClass();}

    public boolean isCellEditable(int row, int col) {

    return (col==1);}

    };

    tableView = new JTable(dataModel);

    JScrollPane scrollpane = new JScrollPane(tableView);

    scrollpane.setPreferredSize(new Dimension(500, 80));

    jdialog.getContentPane().setLayout(new BorderLayout());

    jdialog.getContentPane().add(BorderLayout.CENTER,scrollpane);

    jdialog.pack();

    printButton= new JButton();

    printButton.setText("打印");

    jdialog.getContentPane().add(BorderLayout.SOUTH,printButton);

    RepaintManager.currentManager(jdialog).setDoubleBufferingEnabled(false);

    printButton.addActionListener(this);

    jdialog.setBounds(300, 100, 650, 500);

    jdialog.setVisible(true);

    }

    public void actionPerformed(ActionEvent e)

    {

    if(e.getSource()== printButton)

    {

    PrinterJob pj=PrinterJob.getPrinterJob();

    pj.setPrintable(TablePrint.this);

    pj.printDialog();

    try{

    pj.print();

    }

    catch (Exception PrintException) {}

    }

    jdialog.dispose();

    }

    public int print(Graphics g, PageFormat pageFormat, int pageIndex) throws PrinterException {

    Graphics2D  g2 = (Graphics2D) g;

    g2.setColor(Color.black);

    int fontHeight=g2.getFontMetrics().getHeight();

    int fontDesent=g2.getFontMetrics().getDescent();

    //leave room for page number

    double pageHeight = pageFormat.getImageableHeight()-fontHeight;

    double pageWidth =  pageFormat.getImageableWidth();

    double tableWidth = (double)

    tableView.getColumnModel().getTotalColumnWidth();

    double scale = 1;

    if (tableWidth >= pageWidth) {

    scale =  pageWidth / tableWidth;

    }

    double headerHeightOnPage= tableView.getTableHeader().getHeight()*scale;

    double tableWidthOnPage=tableWidth*scale;

    double oneRowHeight=(tableView.getRowHeight()+ tableView.getRowMargin())*scale;

    int numRowsOnAPage= (int)((pageHeight-headerHeightOnPage)/ oneRowHeight);

    double pageHeightForTable=oneRowHeight* numRowsOnAPage;

    int totalNumPages= (int)Math.ceil(((double)tableView.getRowCount())/ numRowsOnAPage);

    if(pageIndex>=totalNumPages) {

    return NO_SUCH_PAGE;

    }

    g2.translate(pageFormat.getImageableX(), pageFormat.getImageableY());

    //bottom center

    g2.drawString("Page: "+(pageIndex+1), (int)pageWidth/2-35, (int)(pageHeight+fontHeight-fontDesent));

    g2.translate(0f,headerHeightOnPage);

    g2.translate(0f,-pageIndex*pageHeightForTable);

    //If this piece of the table is smaller

    //than the size available,

    //clip to the appropriate bounds.

    if (pageIndex + 1 == totalNumPages) {

    int lastRowPrinted = numRowsOnAPage * pageIndex;

    int numRowsLeft = tableView.getRowCount() - lastRowPrinted;

    g2.setClip(0, (int)(pageHeightForTable * pageIndex), (int) Math.ceil(tableWidthOnPage), (int) Math.ceil(oneRowHeight *  numRowsLeft));

    }

    //else clip to the entire area available.

    else{

    g2.setClip(0, (int)(pageHeightForTable*pageIndex), (int) Math.ceil(tableWidthOnPage), (int) Math.ceil(pageHeightForTable));

    }

    g2.scale(scale,scale);

    tableView.paint(g2);

    g2.scale(1/scale,1/scale);

    g2.translate(0f,pageIndex*pageHeightForTable);

    g2.translate(0f, -headerHeightOnPage);

    g2.setClip(0, 0, (int) Math.ceil(tableWidthOnPage), (int)Math.ceil(headerHeightOnPage));

    g2.scale(scale,scale);

    tableView.getTableHeader().paint(g2);

    //paint header at top

    return Printable.PAGE_EXISTS;

    }

    编程依旧博大精深,在此还是略窥皮毛

    在这留个脚印,以后继续踩踩...

    展开全文
  • Java 打印表格 到A4纸的可用代码

    热门讨论 2014-05-07 21:18:53
    已试用,可行.用Java 打印表格 到A4纸的可用代码,
  • 基于android平台的出题软件---- 每日30题 本app共编写了3个activity,1.Mainactivity作为主界面.2.surface,用来显示随机出的题.3.showresult,用来打印所有做过的题(含结果),一个类function用 ... SSL、OPENSSL、SSH...

    C&num; DataGridView中指定的单元格不能编辑

    注意:DataGridView控件是从.NET Framework 2.0版本开始追加的. ReadOnly属性的使用 DataGridView内所有的单元格不能编辑 当DataGridView.Re ...

    深入理解javascript原型和闭包(完结)

    原文链接:http://www.cnblogs.com/wangfupeng1988/p/3977924.html 说明: 该教程绕开了javascript的一些基本的语法知识,直接讲解javascr ...

    基于android平台的出题软件---- 每日30题

    本app共编写了3个activity,1.Mainactivity作为主界面.2.surface,用来显示随机出的题.3.showresult,用来打印所有做过的题(含结果),一个类function用 ...

    SSL、OPENSSL、SSH、OPENSSH

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议.TLS与 ...

    给RecyclerView实现的GridView加上HeaderView和FooterView

    给RecyclerView设置布局管理器 GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3); 写适配器,添加子项 ...

    redis cluster搭建

    一 .准备文件: Ruby :http://www.ruby-lang.org/en/downloads/    redis-3.0.5.tar.gz Redis:http://www.redis.c ...

    Git ~ 添加远程仓库 ~Git

    现在的情景是 , 你已经在本地创建了一个Git仓库后 , 又想在 Github 创建一个Git 仓库并且让这两个仓库进行远程同步 , 这样Github 上的仓库既可以作为备份 ,有可以让其他人通过仓库 ...

    Android中通过WebView控件实现与JavaScript方法相互调用的地图应用

    在Android中通过WebView控件,可以实现要加载的页面与Android方法相互调用,我们要实现WebView中的addJavascriptInterface方法,这样html才能调用andro ...

    ABP之动态WebAPI

    ABP之动态WebAPI ABP的动态WebApi实现了直接对服务层的调用(其实病没有跨过ApiController,只是将ApiController公共化,对于这一点的处理类似于MVC,对服务端的 ...

    centos7,yum安装的redis用systemctl无法启动

    因为之前使用显示命令启动redis的,要使redis在后台运行就需要改redis.conf中的daemonize 为yes. 这次在centos7上也顺手改了为yes,然后使用systemctl启动, ...

    展开全文
  • 1. 统计表格没一列中的最长的字符串的长度. 2. 打印一列的时候,使用最长的长度作为列的长度. 3. java中可以通过System.out.printf("%长度s",string).这样的形式按长度打印.

    java打印表格 将ResultSet中的数据打印成表格

    问题描述

    MySQL的查询语句输出如下:

    mysql> select * from instructor;
    +-------+------------+------------+-----------+
    | ID    | name       | dept_name  | salary    |
    +-------+------------+------------+-----------+
    | 10101 | Srinivasan | Comp. Sci. | 65000.00  |
    | 12121 | Wu         | Finance    | 90000.00  |
    | 15151 | Mozart     | Music      | 40000.00  |
    | 22222 | Einstein   | Physics    | 95000.00  |
    | 25566 | Brown      | Biology    | 100000.00 |
    | 30765 | Green      | Music      | NULL      |
    | 32343 | El Said    | History    | 60000.00  |
    | 33456 | Gold       | Physics    | 87000.00  |
    | 45565 | Katz       | Comp. Sci. | 75000.00  |
    | 58583 | Califieri  | History    | 62000.00  |
    | 76543 | Singh      | Finance    | 80000.00  |
    | 76766 | Crick      | Biology    | 72000.00  |
    | 77987 | Kim        | Physics    | 98000.00  |
    | 83821 | Brandt     | Comp. Sci. | 92000.00  |
    | 88877 | Perry      | Finance    | 125000.00 |
    | 88878 | Perry      | Finance    | 125000.00 |
    | 98345 | Kim        | Elec. Eng. | 80000.00  |
    +-------+------------+------------+-----------+
    17 rows in set (0.04 sec)
    

    使用JDBC执行上述的查询语句,将结果集中的查询结果以表格的形式打印出来。

    思路

    • 通过结果集的元数据可以知道结果集中的列数,和列名.
    • 然后遍历结果集,分别统计每一列中的最大字符数。
    • 然后通过System.out.printf()方法进行格式化输出。

    实现

    package tools;
    
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.Iterator;
    
    /**
     * 结果集打印机.将结果集中的数据打印成表格.
     */
    public class ResultSetPrinter {
        public static void printResultSet(ResultSet rs) throws SQLException {
            ResultSetMetaData resultSetMetaData = rs.getMetaData();
            // 获取列数
            int ColumnCount = resultSetMetaData.getColumnCount();
            // 保存当前列最大长度的数组
            int[] columnMaxLengths = new int[ColumnCount];
            // 缓存结果集,结果集可能有序,所以用ArrayList保存变得打乱顺序.
            ArrayList<String[]> results = new ArrayList<>();
            // 按行遍历
            while (rs.next()) {
                // 保存当前行所有列
                String[] columnStr = new String[ColumnCount];
                // 获取属性值.
                for (int i = 0; i < ColumnCount; i++) {
                    // 获取一列
                    columnStr[i] = rs.getString(i + 1);
                    // 计算当前列的最大长度
                    columnMaxLengths[i] = Math.max(columnMaxLengths[i], (columnStr[i] == null) ? 0 : columnStr[i].length());
                }
                // 缓存这一行.
                results.add(columnStr);
            }
            printSeparator(columnMaxLengths);
            printColumnName(resultSetMetaData, columnMaxLengths);
            printSeparator(columnMaxLengths);
            // 遍历集合输出结果
            Iterator<String[]> iterator = results.iterator();
            String[] columnStr;
            while (iterator.hasNext()) {
                columnStr = iterator.next();
                for (int i = 0; i < ColumnCount; i++) {
                    // System.out.printf("|%" + (columnMaxLengths[i] + 1) + "s", columnStr[i]);
                    System.out.printf("|%" + columnMaxLengths[i] + "s", columnStr[i]);
                }
                System.out.println("|");
            }
            printSeparator(columnMaxLengths);
        }
    
        /**
         * 输出列名.
         *
         * @param resultSetMetaData 结果集的元数据对象.
         * @param columnMaxLengths  每一列最大长度的字符串的长度.
         * @throws SQLException
         */
        private static void printColumnName(ResultSetMetaData resultSetMetaData, int[] columnMaxLengths) throws SQLException {
            int columnCount = resultSetMetaData.getColumnCount();
            for (int i = 0; i < columnCount; i++) {
                // System.out.printf("|%" + (columnMaxLengths[i] + 1) + "s", resultSetMetaData.getColumnName(i + 1));
                System.out.printf("|%" + columnMaxLengths[i] + "s", resultSetMetaData.getColumnName(i + 1));
            }
            System.out.println("|");
        }
    
        /**
         * 输出分隔符.
         *
         * @param columnMaxLengths 保存结果集中每一列的最长的字符串的长度.
         */
        private static void printSeparator(int[] columnMaxLengths) {
            for (int i = 0; i < columnMaxLengths.length; i++) {
                System.out.print("+");
                // for (int j = 0; j < columnMaxLengths[i] + 1; j++) {
                for (int j = 0; j < columnMaxLengths[i]; j++) {
                    System.out.print("-");
                }
            }
            System.out.println("+");
        }
    
    }
    
    

    测试

    package tools;
    import java.sql.*;
    
    public class Test {
        private static String driver = "com.mysql.cj.jdbc.Driver";
        private static String URL = "jdbc:mysql://127.0.0.1:3306/university?serverTimezone=UTC";
        private static String user = "root";
        private static String password = "root";
    
        /**
         * JDBC测试.
         */
        private static void JDBCexample() {
            // 1.加载数据库驱动
            try {
    
                Class.forName(driver);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            testStatement();
        }
    
        /**
         * 测试Statement的用法.
         */
        private static void testStatement() {
            try (// 2.打开数据库连接
                 Connection conn = DriverManager.getConnection(URL, user, password);
                 // 3.创建语句
                 Statement stmt = conn.createStatement()) {
                // 模拟SQL注入
                testSqlInjecton(stmt);
    
            } catch (SQLException sqle) {
                System.out.println("SQLException : " + sqle);
            }
        }
    
        /**
         * 模拟SQL注入.
         *
         * @param stmt Statement对象.
         * @throws SQLException
         */
        private static void testSqlInjecton(Statement stmt) throws SQLException {
            String name = "X' or 'Y' = 'Y";
            String sql = "select * from instructor where name = '" + name + "'";
            ResultSet rs = stmt.executeQuery(sql);
            ResultSetPrinter.printResultSet(rs);
        }
    
        public static void main(String[] args) {
            JDBCexample();
        }
    }
    

    运行结果

    +-----+----------+----------+---------+
    |   ID|      name| dept_name|   salary|
    +-----+----------+----------+---------+
    |10101|Srinivasan|Comp. Sci.| 65000.00|
    |12121|        Wu|   Finance| 90000.00|
    |15151|    Mozart|     Music| 40000.00|
    |22222|  Einstein|   Physics| 95000.00|
    |25566|     Brown|   Biology|100000.00|
    |30765|     Green|     Music|     null|
    |32343|   El Said|   History| 60000.00|
    |33456|      Gold|   Physics| 87000.00|
    |45565|      Katz|Comp. Sci.| 75000.00|
    |58583| Califieri|   History| 62000.00|
    |76543|     Singh|   Finance| 80000.00|
    |76766|     Crick|   Biology| 72000.00|
    |77987|       Kim|   Physics| 98000.00|
    |83821|    Brandt|Comp. Sci.| 92000.00|
    |88877|     Perry|   Finance|125000.00|
    |88878|     Perry|   Finance|125000.00|
    |98345|       Kim|Elec. Eng.| 80000.00|
    +-----+----------+----------+---------+
    

    原文链接: java打印表格 将ResultSet中的数据打印成表格

    展开全文
  • 功能: 控制台打印表格,支持字段动态长度,左对齐,设置最多打印多少行。 更多代码请参考具体类,下载链接:[https://download.csdn.net/download/qq_26599807/12840079]
  • 首先查看Formatted Strings。 String.format和printf共享相同的格式规则 所以,像... System.out.printf("%15s", "Name:");... 总之,这将打印出... Name: Age: Gender: Bob 18 Male Mary 25 Female
  • java 打印表格文件

    2013-08-14 20:39:58
    jar 包在资源中 jxl.jar     public String printInfo(){ HttpServletResponse response=getResponse();    jxl.write.Label label;   WritableWorkbook workbook;... jxl.write.WritableWorkb
  • java打印表格到打印机

    千次阅读 2011-12-12 00:07:27
    在这里我我有部分功能是要将一张表格通过java调用打印机打印出来,这里要用到java的Printable接口 Printable 接口由当前页面 painter 的 print 方法实现,该方法由打印系统调用,以呈现页面。构建 Pageable 时,...
  • https://blog.csdn.net/xunchima123/article/details/100059151 用这个插件
  • 目前我有个桌面应用程序,在一个JFrame里面插入了一张JTable,求教如何把这张表格打印出来(打印机输出),带有表头 (XXXXX统计表),表格本身(已经有的表格),和表尾(一个小的合计,共有多少行),最后加个页数...
  • 功能:控制台打印表格,支持字段动态长度,左对齐,右对齐,居中,设置最大列长,设置列间隔符,设置最多打印多少行。类下载地址:http://download..net/download/j506825719/10211082简单使用方法:在new的时候,给定...
  • java swing表格打印

    2014-09-19 11:54:01
    该文档以代码描述java swing中的对应表格打印方法 同志们直接拿来调用就可以了
  • Java 控制台 打印表格 可前往http://blog.csdn.net/j506825719/article/details/78996659查看效果图后再决定是否需要下载。
  • java打印Excel表格

    千次阅读 2018-03-26 11:14:46
    这里用servlet简单介绍一下java打印报表 1.无合并行/列 package weaver.xhyy.servlet; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; ...
  • java在控制台打印表格的工具类,链式调用,注释齐全。支持自定义:表格对齐方式、是否等宽、左右边距、水平垂直交叉空白填充符,打印数据格式支持String[][]、List[]>、List<List<String>>、List<entity>
  • Java 打印 Excel 表格

    2020-11-19 12:20:55
    配置pom.xml文件 <repositories> <repository> <id>com.e-iceblue</id> <url>http://repo.e-iceblue.cn/repository/maven-public/</url> </repository>...de
  • @jhutan试试这个来产生你正在寻找的输出。public static void main(String[] args) throws IOException {String html = "https://www.w3schools.com/html/html_tables.asp";Document doc = Jsoup....Elements table...
  • Java编程中,如何设置电子表格打印区域?注意:需要访问网址:http://poi.apache.org/download.html , 下载一个Apache POI软件包。这里下载最新版本:poi-bin-3.17-20170915.tar.gz解压并将全部.jar文件导入 。...
  • 博主你好,我在调用打印表格的方法时出现如下错误:Exception in thread "main" java.lang.IllegalStateException: Workbench has not been created yet.at org.eclipse.ui.PlatformUI.getWorkbench(PlatformUI.java...
  • 背景 ...在实现该功能的过程中,对我来说最麻烦的是要在控制台输出表格,难点在于表格列宽相等以及表格内容要居中对齐。 效果 最终实现效果如下: 核心代码分享 分享此内容的目的有二: 为要实现

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 594
精华内容 237
关键字:

java打印表格

java 订阅