在baidu+google搜索了很长时间没有什么发现,好像是不太好实现的,不知道有没有这方面经验的朋友介绍一下;有例子更好了
谢谢……
13 个解决方案
#1
java直接打印的话,如何体现出来是按excel的格式设计的呢,你直接打印出来,格式就是WEB网页的格式,跟直接打excel也没有什么两样
#2
你可以在后台打开啊,就是虽然打开,但是并没有显示出来。
如果不打开就打印,感觉上思路有些不对,因为这样的话,就意味着要自己写程序读Excel文件的格式了啊。
如果不打开就打印,感觉上思路有些不对,因为这样的话,就意味着要自己写程序读Excel文件的格式了啊。
#3
多谢楼上两位朋友,我的意思就是要保证还是excel的格式,也就是通过java程序调用excel的打印功能,不知道可行不?
楼上朋友说后台打开,具体怎么操作能不能给个例子? 谢了
楼上朋友说后台打开,具体怎么操作能不能给个例子? 谢了
#4
感觉不打开EXCEL直接打印自己写方法还是很困难的,看有没有什么第3方的软件吧。
我印象中有能用JAVA编辑EXCEL的第3方控件。
我印象中有能用JAVA编辑EXCEL的第3方控件。
#5
编辑读写excel的有,但是就不支持打印的功能,poi这个包我也没研究太明白,读写是没问题,好像打印也不行
#6
我也想知道,还有如何直接打印预览
#7
package myexcel.jxl.base;
import jxl.write.WritableWorkbook;
import jxl.Workbook;
import java.io.File;
import java.io.*;
import jxl.write.WritableSheet;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.*;
import jxl.format.UnderlineStyle;
import jxl.format.PageOrientation;
import jxl.format.PaperSize;
import java.sql.Date;
import jxl.biff.EmptyCell;
public class Creatxls {
public Creatxls() {
}
public static void main(String[] args){
WritableWorkbook myexcel=null;
try {
myexcel = Workbook.createWorkbook(new File("我的EXCEL.xls"));
} catch (IOException ex) {
}
WritableSheet mysheet=myexcel.createSheet("第一页",0);
//合并单元格
try {
mysheet.mergeCells(10, 10, 13, 13);
} catch (WriteException ex4) {
}
//设置打印属性
//第一个参数为方向,第二个为纸张大小,第三个为设置页眉的高度,第四个设置页脚的高度
mysheet.setPageSetup(PageOrientation.LANDSCAPE,PaperSize.A5,1.5,2.0);
Label mylabel=new Label(0,0,"wuwenjun");
WritableFont font=new WritableFont(WritableFont.TIMES, 18,
WritableFont.BOLD, true,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);
WritableCellFormat wcf=new WritableCellFormat(font);
Label label=new Label(3,0,"彩色字",wcf);
//设置日期格式
jxl.write.DateFormat df=new DateFormat("yyyy-mm-dd");
jxl.write.WritableCellFormat wcfD = new jxl.write.WritableCellFormat(df);
Date dd=new Date(System.currentTimeMillis());
DateTime mydate=new DateTime(5,5,dd,wcfD);
//定义样式
WritableCellFeatures ewcf=new WritableCellFeatures();
ewcf.setComment("wuwenjun");
WritableCellFormat ecf=new WritableCellFormat();
try {
ecf.setBackground(Colour.RED);
} catch (WriteException ex3) {
}
//blank
jxl.write.Blank blank=new Blank(6,6);
blank.setCellFeatures(ewcf);
blank.setCellFormat(ecf);
//emptycell
EmptyCell emptycell=new EmptyCell(7,7);
emptycell.setCellFeatures(ewcf);
emptycell.setCellFormat(ecf);
//设置数字格式
jxl.write.NumberFormat nf = new jxl.write.NumberFormat("###,###,###,###,###.##");
jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf);
//设置单元格的边框样式
try {
wcfN.setBorder(Border.ALL, BorderLineStyle.THIN);
} catch (WriteException ex1) {
}
Number mynumber=new Number(3,3,56566454.1212121,wcfN);
try {
mysheet.addCell(mylabel);
mysheet.addCell(mynumber);
mysheet.addCell(label);
mysheet.addCell(mydate);
mysheet.addCell(blank);
mysheet.addCell(emptycell);
myexcel.write();
if(myexcel!=null)
myexcel.close();
}
catch (WriteException ex2) {
}
catch (IOException ex2) {
}
}
}
import jxl.write.WritableWorkbook;
import jxl.Workbook;
import java.io.File;
import java.io.*;
import jxl.write.WritableSheet;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.*;
import jxl.format.UnderlineStyle;
import jxl.format.PageOrientation;
import jxl.format.PaperSize;
import java.sql.Date;
import jxl.biff.EmptyCell;
public class Creatxls {
public Creatxls() {
}
public static void main(String[] args){
WritableWorkbook myexcel=null;
try {
myexcel = Workbook.createWorkbook(new File("我的EXCEL.xls"));
} catch (IOException ex) {
}
WritableSheet mysheet=myexcel.createSheet("第一页",0);
//合并单元格
try {
mysheet.mergeCells(10, 10, 13, 13);
} catch (WriteException ex4) {
}
//设置打印属性
//第一个参数为方向,第二个为纸张大小,第三个为设置页眉的高度,第四个设置页脚的高度
mysheet.setPageSetup(PageOrientation.LANDSCAPE,PaperSize.A5,1.5,2.0);
Label mylabel=new Label(0,0,"wuwenjun");
WritableFont font=new WritableFont(WritableFont.TIMES, 18,
WritableFont.BOLD, true,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);
WritableCellFormat wcf=new WritableCellFormat(font);
Label label=new Label(3,0,"彩色字",wcf);
//设置日期格式
jxl.write.DateFormat df=new DateFormat("yyyy-mm-dd");
jxl.write.WritableCellFormat wcfD = new jxl.write.WritableCellFormat(df);
Date dd=new Date(System.currentTimeMillis());
DateTime mydate=new DateTime(5,5,dd,wcfD);
//定义样式
WritableCellFeatures ewcf=new WritableCellFeatures();
ewcf.setComment("wuwenjun");
WritableCellFormat ecf=new WritableCellFormat();
try {
ecf.setBackground(Colour.RED);
} catch (WriteException ex3) {
}
//blank
jxl.write.Blank blank=new Blank(6,6);
blank.setCellFeatures(ewcf);
blank.setCellFormat(ecf);
//emptycell
EmptyCell emptycell=new EmptyCell(7,7);
emptycell.setCellFeatures(ewcf);
emptycell.setCellFormat(ecf);
//设置数字格式
jxl.write.NumberFormat nf = new jxl.write.NumberFormat("###,###,###,###,###.##");
jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf);
//设置单元格的边框样式
try {
wcfN.setBorder(Border.ALL, BorderLineStyle.THIN);
} catch (WriteException ex1) {
}
Number mynumber=new Number(3,3,56566454.1212121,wcfN);
try {
mysheet.addCell(mylabel);
mysheet.addCell(mynumber);
mysheet.addCell(label);
mysheet.addCell(mydate);
mysheet.addCell(blank);
mysheet.addCell(emptycell);
myexcel.write();
if(myexcel!=null)
myexcel.close();
}
catch (WriteException ex2) {
}
catch (IOException ex2) {
}
}
}
#8
楼上朋友提供的也只是读写excel文件吧?JXL包支持直接打印吗?
下载了看看
下载了看看
#9
jxl
#10
如果这实现了,那么web打印估计就不成问题了...
#11
mark!
#12
wordml
#13
学习中。。。。。。。。。。。
#1
java直接打印的话,如何体现出来是按excel的格式设计的呢,你直接打印出来,格式就是WEB网页的格式,跟直接打excel也没有什么两样
#2
你可以在后台打开啊,就是虽然打开,但是并没有显示出来。
如果不打开就打印,感觉上思路有些不对,因为这样的话,就意味着要自己写程序读Excel文件的格式了啊。
如果不打开就打印,感觉上思路有些不对,因为这样的话,就意味着要自己写程序读Excel文件的格式了啊。
#3
多谢楼上两位朋友,我的意思就是要保证还是excel的格式,也就是通过java程序调用excel的打印功能,不知道可行不?
楼上朋友说后台打开,具体怎么操作能不能给个例子? 谢了
楼上朋友说后台打开,具体怎么操作能不能给个例子? 谢了
#4
感觉不打开EXCEL直接打印自己写方法还是很困难的,看有没有什么第3方的软件吧。
我印象中有能用JAVA编辑EXCEL的第3方控件。
我印象中有能用JAVA编辑EXCEL的第3方控件。
#5
编辑读写excel的有,但是就不支持打印的功能,poi这个包我也没研究太明白,读写是没问题,好像打印也不行
#6
我也想知道,还有如何直接打印预览
#7
package myexcel.jxl.base;
import jxl.write.WritableWorkbook;
import jxl.Workbook;
import java.io.File;
import java.io.*;
import jxl.write.WritableSheet;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.*;
import jxl.format.UnderlineStyle;
import jxl.format.PageOrientation;
import jxl.format.PaperSize;
import java.sql.Date;
import jxl.biff.EmptyCell;
public class Creatxls {
public Creatxls() {
}
public static void main(String[] args){
WritableWorkbook myexcel=null;
try {
myexcel = Workbook.createWorkbook(new File("我的EXCEL.xls"));
} catch (IOException ex) {
}
WritableSheet mysheet=myexcel.createSheet("第一页",0);
//合并单元格
try {
mysheet.mergeCells(10, 10, 13, 13);
} catch (WriteException ex4) {
}
//设置打印属性
//第一个参数为方向,第二个为纸张大小,第三个为设置页眉的高度,第四个设置页脚的高度
mysheet.setPageSetup(PageOrientation.LANDSCAPE,PaperSize.A5,1.5,2.0);
Label mylabel=new Label(0,0,"wuwenjun");
WritableFont font=new WritableFont(WritableFont.TIMES, 18,
WritableFont.BOLD, true,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);
WritableCellFormat wcf=new WritableCellFormat(font);
Label label=new Label(3,0,"彩色字",wcf);
//设置日期格式
jxl.write.DateFormat df=new DateFormat("yyyy-mm-dd");
jxl.write.WritableCellFormat wcfD = new jxl.write.WritableCellFormat(df);
Date dd=new Date(System.currentTimeMillis());
DateTime mydate=new DateTime(5,5,dd,wcfD);
//定义样式
WritableCellFeatures ewcf=new WritableCellFeatures();
ewcf.setComment("wuwenjun");
WritableCellFormat ecf=new WritableCellFormat();
try {
ecf.setBackground(Colour.RED);
} catch (WriteException ex3) {
}
//blank
jxl.write.Blank blank=new Blank(6,6);
blank.setCellFeatures(ewcf);
blank.setCellFormat(ecf);
//emptycell
EmptyCell emptycell=new EmptyCell(7,7);
emptycell.setCellFeatures(ewcf);
emptycell.setCellFormat(ecf);
//设置数字格式
jxl.write.NumberFormat nf = new jxl.write.NumberFormat("###,###,###,###,###.##");
jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf);
//设置单元格的边框样式
try {
wcfN.setBorder(Border.ALL, BorderLineStyle.THIN);
} catch (WriteException ex1) {
}
Number mynumber=new Number(3,3,56566454.1212121,wcfN);
try {
mysheet.addCell(mylabel);
mysheet.addCell(mynumber);
mysheet.addCell(label);
mysheet.addCell(mydate);
mysheet.addCell(blank);
mysheet.addCell(emptycell);
myexcel.write();
if(myexcel!=null)
myexcel.close();
}
catch (WriteException ex2) {
}
catch (IOException ex2) {
}
}
}
import jxl.write.WritableWorkbook;
import jxl.Workbook;
import java.io.File;
import java.io.*;
import jxl.write.WritableSheet;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.*;
import jxl.format.UnderlineStyle;
import jxl.format.PageOrientation;
import jxl.format.PaperSize;
import java.sql.Date;
import jxl.biff.EmptyCell;
public class Creatxls {
public Creatxls() {
}
public static void main(String[] args){
WritableWorkbook myexcel=null;
try {
myexcel = Workbook.createWorkbook(new File("我的EXCEL.xls"));
} catch (IOException ex) {
}
WritableSheet mysheet=myexcel.createSheet("第一页",0);
//合并单元格
try {
mysheet.mergeCells(10, 10, 13, 13);
} catch (WriteException ex4) {
}
//设置打印属性
//第一个参数为方向,第二个为纸张大小,第三个为设置页眉的高度,第四个设置页脚的高度
mysheet.setPageSetup(PageOrientation.LANDSCAPE,PaperSize.A5,1.5,2.0);
Label mylabel=new Label(0,0,"wuwenjun");
WritableFont font=new WritableFont(WritableFont.TIMES, 18,
WritableFont.BOLD, true,UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);
WritableCellFormat wcf=new WritableCellFormat(font);
Label label=new Label(3,0,"彩色字",wcf);
//设置日期格式
jxl.write.DateFormat df=new DateFormat("yyyy-mm-dd");
jxl.write.WritableCellFormat wcfD = new jxl.write.WritableCellFormat(df);
Date dd=new Date(System.currentTimeMillis());
DateTime mydate=new DateTime(5,5,dd,wcfD);
//定义样式
WritableCellFeatures ewcf=new WritableCellFeatures();
ewcf.setComment("wuwenjun");
WritableCellFormat ecf=new WritableCellFormat();
try {
ecf.setBackground(Colour.RED);
} catch (WriteException ex3) {
}
//blank
jxl.write.Blank blank=new Blank(6,6);
blank.setCellFeatures(ewcf);
blank.setCellFormat(ecf);
//emptycell
EmptyCell emptycell=new EmptyCell(7,7);
emptycell.setCellFeatures(ewcf);
emptycell.setCellFormat(ecf);
//设置数字格式
jxl.write.NumberFormat nf = new jxl.write.NumberFormat("###,###,###,###,###.##");
jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf);
//设置单元格的边框样式
try {
wcfN.setBorder(Border.ALL, BorderLineStyle.THIN);
} catch (WriteException ex1) {
}
Number mynumber=new Number(3,3,56566454.1212121,wcfN);
try {
mysheet.addCell(mylabel);
mysheet.addCell(mynumber);
mysheet.addCell(label);
mysheet.addCell(mydate);
mysheet.addCell(blank);
mysheet.addCell(emptycell);
myexcel.write();
if(myexcel!=null)
myexcel.close();
}
catch (WriteException ex2) {
}
catch (IOException ex2) {
}
}
}
#8
楼上朋友提供的也只是读写excel文件吧?JXL包支持直接打印吗?
下载了看看
下载了看看
#9
jxl
#10
如果这实现了,那么web打印估计就不成问题了...
#11
mark!
#12
wordml
#13
学习中。。。。。。。。。。。