打印表格java代码,java打印制表符

java 如何print table

尾端对齐写了2种方法你可以参考 ,建议优先使用方法一.方法二还需要优化

成都创新互联专注于岐山企业网站建设,响应式网站,商城系统网站开发。岐山网站建设公司,为岐山等地区提供建站服务。全流程定制开发,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务

import java.util.Hashtable;

import java.util.Iterator;

import java.util.Map.Entry;

public class PrintNameDemo {

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

// 普通情况,比如已知名字最大不超过15个字符,

System.out.println("方法一:");

for (int i = 9; i 12; i++) {

//注意这里是printf()表示格式化输出%15s 表示15个空格  i表示填充的数据 

System.out.printf("%15s", i);

//换行

System.out.println();

}

System.out.println("方法二:");

HashtableString, Integer table = new Hashtable();

table.put("Aaron", 12);

table.put("张三", 22);

table.put("大A", 9);

table.put("TomandJerry", 6);

IteratorEntryString, Integer it = table.entrySet().iterator();

int maxLen = 0;

while (it.hasNext()) {

int temp = it.next().getKey().length();

if (temp  maxLen) {

maxLen = temp;//找到table里名字最长的有多少位字符

}

}

//重新获得下Iterator 因为上次迭代器it已经移到最后了.

it = table.entrySet().iterator();

while (it.hasNext()) {

EntryString, Integer e = it.next();

//这里才是方法二尾端对齐的核心代码

char[] cc = new char[maxLen];

//for (int i = 0; i  cc.length; i++) {

// cc[i] = '#';

//}

char[] cs = e.getKey().toCharArray();

int x = 0;

//覆盖最后的几个字符

for (int i = maxLen - cs.length; i  cc.length; i++) {

cc[i] = cs[x];

x++;

}

System.out.println(new String(cc) + "\t" + e.getValue());

}

}

}

输出结果

方法一:

9

10

11

方法二:

#########张三 22

#########大A 9

######Aaron 12

TomandJerry 6

JAVA中怎么编写打印功能代码

Print.java--打印内容定义 [code] import java.awt.*; import java.awt.event.*; import java.awt.print.*; import java.awt.image.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.border.*; import javax.swing.event.*; import java.util.*; import java.io.*; public class Print implements Printable{ int m_wPage; int m_hPage; int m_orientation; Printable m_target; int maxNumPage=1; String title="数据表格打印"; Font titleFont=new Font("黑体",Font.BOLD,14); boolean hasTail=true; int tailAlign=0; int headAlign=0; int topSpace=0; int leftSpace=0; int yStart=0; int yEnd=0; int xStart=topSpace; int xEnd=0; int x=0,y=0; String strTemp="打印内容"; public void doPrint(){ try{ m_orientation=PageFormat.PORTRAIT; //设置打印对象,默认纸张 PrinterJob prnJob=PrinterJob.getPrinterJob(); PageFormat pageFormat=prnJob.defaultPage(); pageFormat.setOrientation(m_orientation); m_wPage=(int)(pageFormat.getWidth()); m_hPage=(int)(pageFormat.getHeight()); //将待打印的窗体根据默认纸张设置传入打印对象 prnJob.setPrintable(this,pageFormat); if(!prnJob.printDialog()) return; prnJob.print(); }catch(PrinterException ex){ ex.printStackTrace(); System.err.println("打印错误:"+ex.toString()); } } /** * 初始化打印参数 */ public void initPrintParameter() { } /** *构造打印内容,以送打印机打印 */ public int print(Graphics pg,PageFormat pageFormat, int pageIndex) throws PrinterException{ //初始化打印参数 initPrintParameter(); //将画布设置为页面大小 pg.translate((int)pageFormat.getImageableX(), (int)pageFormat.getImageableY()); int wPage=0; int hPage=0; //根据打印机页面设置调整画布大小 if(pageFormat.getOrientation()==pageFormat.PORTRAIT){ wPage=(int)pageFormat.getImageableWidth(); hPage=(int)pageFormat.getImageableHeight(); } else{ wPage=(int)pageFormat.getImageableWidth(); wPage+=wPage/2; hPage=(int)pageFormat.getImageableHeight(); pg.setClip(0,0,wPage,hPage); } wPage=wPage-2*leftSpace; hPage=hPage-2*topSpace; xStart=leftSpace; xEnd=wPage-2; //为画布设置颜色和字体 int y=topSpace; pg.setFont(titleFont); pg.setColor(Color.black); //画标题,并使其居中 Font fn=pg.getFont(); FontMetrics fm=pg.getFontMetrics(); y+=fm.getAscent(); alignText(title,pg,y,xStart,xEnd,headAlign); y+=30; x=leftSpace+2; Font headerFont=new Font("宋体",Font.BOLD,14); pg.setFont(headerFont); fm=pg.getFontMetrics(); int h=fm.getAscent(); yStart=y-1; y+=h; pg.setFont(headerFont); fm=pg.getFontMetrics(); int header=y; h=fm.getHeight(); //计算行高,每页行数,总行数和指定页码的起始行、结束行 int rowH=Math.max(h,10); int tailH=rowH+30; int rowPerPage=0; int leftPix=0; if(hasTail){ rowPerPage=(hPage-header-tailH)/rowH; leftPix=(hPage-header-tailH)%rowH; yEnd=hPage-leftPix-tailH+2; } else{ rowPerPage=(hPage-header)/rowH; leftPix=(hPage-header)%rowH; yEnd=hPage-leftPix+2; } pg.drawString(strTemp,x,y); //画表格边框 pg.drawLine(xStart,yStart,xStart,yEnd); pg.drawLine(xStart,yStart,xEnd,yStart); pg.drawLine(xEnd,yStart,xEnd,yEnd); pg.drawLine(xStart,yEnd,xEnd,yEnd); //打印页码 if(hasTail){ int pageNumber=pageIndex+1; String s="第"+pageNumber+"页"; alignText(s,pg,yEnd+30,xStart,xEnd,tailAlign); } System.gc(); return PAGE_EXISTS; } /** * 文字排列,坐标在y处,显示范围(start-end) * 0表示居中显示,1表示左对齐,2表示右对齐 */ private void alignText(String s,Graphics pg,int y,int start, int end,int mode){ Font fn=pg.getFont(); FontMetrics fm=pg.getFontMetrics(); int wString=fm.stringWidth(s); int x=start; switch(mode) { case 0: if((end-start-wString)0) x=start+(end-start-wString)/2; break; case 1: break; case 2: if((end-start-wString)0) x=start+(end-start-wString); break; } pg.drawString(s,x,y); } public static void main(String[] args){ Print p=new Print(); p.doPrint(); } } [code] 运行方法: javac -d . Print.java java Print 自己运行一下 from:

采纳哦

怎么样用java代码编写一个提取并打印excel表格的小程序

import java.io.FileInputStream;

import java.io.InputStream;

import jxl.Cell;

import jxl.Sheet;

import jxl.Workbook;

public class ReadExcel {

private Workbook workbook;// 包含的表

private Sheet sheet;// 读出第一个表

private Cell cell;// �?

private InputStream is;// 数据�?

/**

* 读取Excel文件返回�?��字符串数�?

*/

public String[][] read(String filename) {

String[][] temp = null;

try {

is = new FileInputStream(filename);

workbook = Workbook.getWorkbook(is);

// 获得第一个工作表对象

sheet = workbook.getSheet(0);

// 得到第一列第�?��的单元格

int i = 0;

int j = 0;

int rows = sheet.getRows();

int columns = sheet.getColumns();

temp = new String[rows][columns];

for (i = 0; i rows; i++) {

for (j = 0; j columns; j++) {

cell = sheet.getCell(j, i);

temp[i][j] = cell.getContents();

}

}

} catch (Exception e) {

e.printStackTrace();

}

return temp;

}

}

后面的自己写

如何用java来打印excel

import java.io.File;

import jxl.Workbook;

import jxl.write.Label;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;

/**

* Excel导出(你需要引入jxl的jar包)

*/

public class Test {

public static void main(String[] args)

{

Test test = new Test();

test.exportExcel();

}

/**

* 导出(导出到磁盘)

*/

public void exportExcel() {

WritableWorkbook book = null;

try {

// 打开文件

book = Workbook.createWorkbook(new File("D:/测试.xls"));

// 生成名为"学生"的工作表,参数0表示这是第一页

WritableSheet sheet = book.createSheet("学生", 0);

// 指定单元格位置是第一列第一行(0, 0)以及单元格内容为张三

Label label = new Label(0, 0, "张三");

// 将定义好的单元格添加到工作表中

sheet.addCell(label);

// 保存数字的单元格必须使用Number的完整包路径

jxl.write.Number number = new jxl.write.Number(1, 0, 30);

sheet.addCell(number);

// 写入数据并关闭文件

book.write();

} catch (Exception e) {

System.out.println(e);

}finally{

if(book!=null){

try {

book.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

怎么编写Java程序打印九九乘法表?

用两个for循环,一个参数递增,另一个参数递减,代码如下:

public static void main(String[] args){

for (int i = 1; i = 9; i++){

for(int n = 1; n = i; n++) {

System.out.print( i + " x " + n + " = " + i * n + "\t");

}

System.out.println();

}

运行结果如下:

扩展资料:

Java中有三种主要的循环结构:

1、while 循环

while是最基本的循环,它的结构为:

while( 布尔表达式 ) {

//循环内容}

只要布尔表达式为 true,循环就会一直执行下去。

2、do…while 循环

对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。

do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。

do {

//代码语句}while(布尔表达式);

3、for 循环

for循环执行的次数是在执行前就确定的。语法格式如下:

for(初始化; 布尔表达式; 更新) {

//代码语句}

参考资料:

Oracle官方API接口-Java™ Platform, Standard Edition 7API Specification

W3cSchool-Java 循环结构 - for, while 及 do…while


当前标题:打印表格java代码,java打印制表符
文章位置:http://scyanting.com/article/dssdsjp.html