`
wanghaoran04141205
  • 浏览: 79289 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jxl打印设置

    博客分类:
  • jxl
阅读更多

 

JXL的打印设置在jxl.SheetSettings这个类中,我们可以通过方法Sheet(或者WritableSheet#getSettings()获取。

1.页面

1.1方向

SheetSetting#setOrientation(PageOrientation po)

参数:  PageOrientation#LANDSCAPE       横向打印

PageOrientation# PORTRAIT       纵向打印

1.2缩放

1.2.1缩放比例(A) SheetSetting #setScaleFactor (int);百分比形式

1.2.2调整(F)

页宽 SheetSetting #setFitWidth(int);

页高 SheetSetting #setFitHeight(int);

1.3纸张大小(Z) SheetSetting #setPaperSize (PaperSize);

纸张大小的定义说明参见PaperSize类中的常量。

1.4起始页码(R) SheetSetting #setPageStrart(int);[默认状态]

2页面距

2.1(T) SheetSetting # setTopMargin (double);

2.2(B) SheetSetting # setBottomMargin (double);

2.3(L) SheetSetting # setLeftMargin (double);

2.4(R) SheetSetting # setRightMargin (double);

2.5页眉(A) SheetSetting #setHeaderMargin(double);

2.6页脚(F) SheetSetting #setFooterMargin(double);

2.7居中方式

2.7.1水平(Z) SheetSetting # setHorizontalCentre (boolean);

2.7.2垂直(V) SheetSetting #setVerticallyCenter(boolean);

3页眉/页脚

3.1页眉SheetSetting # setHeaderHeaderFooter;

说明:

对于HeaderFooter的设置,首先确定页眉的位置(左、中、右),通过HeaderFooter#getCentre()(或者getLeft()getRight())方法获取HeaderFooter.Contents类,之后对这个类的属性进行操作。

下面简单介绍几个常用方法:

设置字号:Contents#setFontSize(int)

设置字体:Contents#setFontName(String)

设置内容:Contents# appendString),还有appendDate()当前日期等等,具体参考Contents类说明

3.2页脚SheetSetting # setFooterHeaderFooter);

说明同上

4工作表

4.1打印区域

SheetSettings #setPrintArea(firstCol, firstRow, lastCol, lastRow)

4.2打印标题

SheetSettings#setPrintTitles (firstRow,lastRow,firstCol,lastCol);

SheetSettings#setPrintTitlesCol(firstCol,lastCol)

SheetSettings#setPrintTitlesRow(firstRow,lastRow)

另有一些其他的设置可在JXL API中找到,不多说了。

附件:通常在Excel中设置好打印,再将其读出来设置到当前页中来,附上代码:

在向Sheet页写数据之前:

1//获取原Sheet页的设置 
2
3SheetSettings sheetSetting=sheet.getSettings(); 
4

5//将原sheet页的打印设置设置到当前Sheet页中 

6
7sheet=new MjJxlExcelCopyPrintSetting().copySheetSettingToSheet(sheet, sheetSetting);
8

 

  1下面是MjJxlExcelCopyPrintSetting的代码:
  2

  3import
 jxl.HeaderFooter; 
  4import
 jxl.Range; 
  5import
 jxl.SheetSettings; 
  6import
 jxl.format.PageOrientation; 
  7import
 jxl.format.PaperSize; 
  8import
 jxl.write.WritableSheet; 
  9

 10/** */
/** 
 11
 * 读取Jxl方法并设置 
 12

 13 * @author
 邱大为 
 14 * @version
 1.0 
 15 */
 
 16public class MjJxlExcelCopyPrintSetting 

 17    /** */
/** 
 18
     * 该方法将setting设置到sheet中 
 19     * @param
 sheet 需要设置的sheet 
 20     * @param
 setting 被设置的属性 
 21     * @return
 
 22     */
 
 23    public WritableSheet copySheetSettingToSheet(WritableSheet sheet,SheetSettings setting)

 24//      设置原Sheet打印属性到新Sheet页 

 25        SheetSettings sheetSettings= sheet.getSettings(); 
 26
         
 27
        sheetSettings.setAutomaticFormulaCalculation(setting.getAutomaticFormulaCalculation()); 
 28
        sheetSettings.setBottomMargin(setting.getBottomMargin()); 
 29
        sheetSettings.setCopies(setting.getCopies()); 
 30
        sheetSettings.setDefaultColumnWidth(setting.getDefaultColumnWidth()); 
 31
        sheetSettings.setDefaultRowHeight(setting.getDefaultRowHeight()); 
 32
        sheetSettings.setDisplayZeroValues(setting.getDisplayZeroValues()); 
 33
        sheetSettings.setFitHeight(setting.getFitHeight()); 
 34
        sheetSettings.setFitToPages(setting.getFitToPages()); 
 35
        sheetSettings.setFitWidth(setting.getFitWidth()); 
 36
         
 37        HeaderFooter footer=
setting.getFooter(); 
 38        if(footer!=null)

 39
            sheetSettings.setFooter(footer); 
 40        }
 
 41
        sheetSettings.setFooterMargin(setting.getFooterMargin()); 
 42        HeaderFooter header=
setting.getHeader(); 
 43        if(header!=null)

 44
            sheetSettings.setHeader(header); 
 45        }
 
 46
        sheetSettings.setHeaderMargin(setting.getHeaderMargin()); 
 47
        sheetSettings.setHidden(setting.isHidden()); 
 48
        sheetSettings.setHorizontalCentre(setting.isHorizontalCentre()); 
 49
        sheetSettings.setHorizontalFreeze(setting.getHorizontalFreeze()); 
 50
        sheetSettings.setHorizontalPrintResolution(setting.getHorizontalPrintResolution()); 
 51
        sheetSettings.setLeftMargin(setting.getLeftMargin()); 
 52
        sheetSettings.setNormalMagnification(setting.getNormalMagnification()); 
 53        PageOrientation pageOrientation=
setting.getOrientation(); 
 54        if(pageOrientation!=null)

 55
            sheetSettings.setOrientation(pageOrientation); 
 56        }
 
 57
        sheetSettings.setPageBreakPreviewMagnification(setting.getPageBreakPreviewMagnification()); 
 58
        sheetSettings.setPageBreakPreviewMode(setting.getPageBreakPreviewMode()); 
 59
        sheetSettings.setPageStart(setting.getPageStart()); 
 60        PaperSize paperSize=
setting.getPaperSize(); 
 61        if(paperSize!=null)

 62
            sheetSettings.setPaperSize(setting.getPaperSize()); 
 63        }
 
 64
         
 65
        sheetSettings.setPassword(setting.getPassword()); 
 66
        sheetSettings.setPasswordHash(setting.getPasswordHash()); 
 67        Range printArea=
setting.getPrintArea(); 
 68        if(printArea!=null)

 69            sheetSettings.setPrintArea(printArea.getTopLeft()==null?0
:printArea.getTopLeft().getColumn(),  
 70                    printArea.getTopLeft()==null?0
:printArea.getTopLeft().getRow(),  
 71                            printArea.getBottomRight()==null?0
:printArea.getBottomRight().getColumn(),  
 72                                    printArea.getBottomRight()==null?0
:printArea.getBottomRight().getRow()); 
 73        }
 
 74
         
 75
        sheetSettings.setPrintGridLines(setting.getPrintGridLines()); 
 76
        sheetSettings.setPrintHeaders(setting.getPrintHeaders()); 
 77
         
 78        Range printTitlesCol=
setting.getPrintTitlesCol(); 
 79        if(printTitlesCol!=null)

 80        sheetSettings.setPrintTitlesCol(printTitlesCol.getTopLeft()==null?0
:printTitlesCol.getTopLeft().getColumn(),  
 81                printTitlesCol.getBottomRight()==null?0
:printTitlesCol.getBottomRight().getColumn()); 
 82        }
 
 83        Range printTitlesRow=
setting.getPrintTitlesRow(); 
 84        if(printTitlesRow!=null)

 85            sheetSettings.setPrintTitlesRow(printTitlesRow.getTopLeft()==null?0
:printTitlesRow.getTopLeft().getRow(),  
 86                    printTitlesRow.getBottomRight()==null?0
:printTitlesRow.getBottomRight().getRow()); 
 87        }
 
 88
         
 89
        sheetSettings.setProtected(setting.isProtected()); 
 90
        sheetSettings.setRecalculateFormulasBeforeSave(setting.getRecalculateFormulasBeforeSave()); 
 91
        sheetSettings.setRightMargin(setting.getRightMargin()); 
 92
        sheetSettings.setScaleFactor(setting.getScaleFactor()); 
 93
        sheetSettings.setSelected(setting.isSelected()); 
 94
        sheetSettings.setShowGridLines(setting.getShowGridLines()); 
 95
        sheetSettings.setTopMargin(setting.getTopMargin()); 
 96
        sheetSettings.setVerticalCentre(setting.isVerticalCentre()); 
 97
        sheetSettings.setVerticalFreeze(setting.getVerticalFreeze()); 
 98
        sheetSettings.setVerticalPrintResolution(setting.getVerticalPrintResolution()); 
 99
        sheetSettings.setZoomFactor(setting.getZoomFactor()); 
100        return
 sheet; 
101    }
 
102}
 
103

104

105


1.页面
1.1
方向
1.1.1
纵向(T)HSSFPrintSetup#setLandscape(false); [默认状态]
1.1.2
横向
(L)HSSFPrintSetup#setLandscape(true);

1.2
缩放

1.2.1
缩放比例(A)HSSFPrintSetup#setScale((short) 100);[默认状态]
1.2.2
调整
(F)
页宽
 HSSFPrintSetup#setFitWidth((short) 1);
页高
 HSSFPrintSetup#setFitHeight((short) 0);

1.3
纸张大小
(Z)HSSFPrintSetup#setPageSize(HSSFPrintSetup.LETTER_PAPERSIZE);
纸张大小的定义说明:

public static final short LETTER_PAPERSIZE = 1;
public static final short LEGAL_PAPERSIZE = 5;
public static final short EXECUTIVE_PAPERSIZE = 7;
public static final short A4_PAPERSIZE = 9;
public static final short A5_PAPERSIZE = 11;
public static final short ENVELOPE_10_PAPERSIZE = 20;
public static final short ENVELOPE_DL_PAPERSIZE = 27;
public static final short ENVELOPE_CS_PAPERSIZE = 28;
public static final short ENVELOPE_MONARCH_PAPERSIZE = 37;

1.4
打印质量(Q)HSSFPrintSetup#setVResolution((short) 300)
1.5
起始页码(R)HSSFPrintSetup#setPageStrart((short) 0);[默认状态
]

2
页面距

2.1
(T)HSSFSheet#setMargin(HSSFSheet.TopMargin,(short)0.6);
2.2
(B)HSSFSheet#setMargin(HSSFSheet.BottomMargin,(short)0.6);
2.3
(L)HSSFSheet#setMargin(HSSFSheet.LeftMargin,(short)0.6);
2.4
(R)HSSFSheet#setMargin(HSSFSheet.RightMargin,(short)0.2);
2.5
页眉
(A)HSSFPrintSetup#setHeaderMargin((double)0.2);
2.6
页脚
(F)HSSFPrintSetup#setFooterMargin((double)0.6);
2.7
居中方式

2.7.1
水平(Z)HSSFSheet#setHorizontallyCenter(false);
2.7.2
垂直
(V)HSSFSheet#setVerticallyCenter(false);

3
页眉/页脚

3.1
页眉HSSFHeader#setLeftHSSFHeader.date();
说明
:
首先获得HSSFHeader对象

确定页眉的显示位置(,左边显示页眉HSSFHeader#setLeft(显示内容))
可使用
HSSFHeader#setLeft,setCenter,setRight

3.2
页脚HSSFFotter#setLeftHSSFFotter.page()+”/”+HSSFFotter.numPages());

说明同3.1
首先获得HSSFFotter对象

确定页眉的显示位置(,左边显示页眉color: black; border-w

分享到:
评论

相关推荐

    java使用jxl打印excel报表文件

    本篇将深入探讨如何使用JXL库在Java中打印Excel报表。 首先,要使用JXL库,你需要在项目中引入它的依赖。在本例中,`jxl.jar`是JXL库的核心文件,你需要将其添加到项目的类路径中。如果你使用的是Maven或者Gradle,...

    java报表JXL和POI打印设置

    java报表JXL和POI打印设置

    java插件jxl页面设置

    通过上述介绍可以看出,JXL库提供了非常全面的功能来帮助开发者灵活地设置打印布局。无论是简单的页边距设置还是复杂的页眉页脚定制,都可以通过简单易用的API轻松实现。这些功能在开发需要导出Excel报告的应用程序...

    java报表JXL和POI打印设置 java 生成excel 设置打印

    ### Java 报表 JXL 和 POI 打印设置详解 在Java开发中,经常需要处理Excel文件,尤其是在报表系统中。JXL 和 POI 是两个常用的库来操作Excel文件。其中,对于打印功能的支持是必不可少的一个环节。本文将详细介绍...

    jxl预览和打印报表

    "jxl预览和打印报表"是一种利用开源Java库——jxl来实现的功能,它能够帮助开发者高效地处理Excel格式的数据,进行报表的生成、预览以及打印操作。下面将详细阐述这一技术的知识点。 首先,jxl库是一个强大的Java ...

    jxl后台代码打印Excel

    对于打印,虽然`jxl`库本身不直接支持打印功能,但你可以将数据转换为字符串或其他可打印格式,然后通过Java的`PrintService` API进行打印: ```java for (int sheetNumber = 0; sheetNumber (); sheetNumber++) { ...

    jxl对excel添加水印(含有setWaterMarkImage方法).zip

    4. **设置水印位置和大小**: 需要确定水印在Excel工作表中的位置和大小。这可以通过调整`ColumnWidth`和`RowHeight`来实现,以及`WritableImage`的`setColumnSpan`和`setRowSpan`方法: ```java int colStart = ...

    jxl包和使用的例子 带注释和说明文档 预览打印功能

    首先,我们需要将Excel数据转换为图像或PDF,然后使用`PrinterJob`类进行打印设置和操作。这需要开发者具备一定的Java图形界面和打印处理知识。 总结,jxl包是Java与Excel交互的重要工具,它通过简单易用的API简化...

    JXL读写EXCEL示例

    此外,`JxlPrintExcel.java`可能是演示如何使用JXL打印Excel文件的示例代码。在实际应用中,可以使用JXL提供的`WorkbookPrinter`类来打印Excel内容。这个类允许你设置页边距、页面方向等打印参数,并将工作簿内容...

    jxl操作excel实例,jxl jar包下载

    这可以通过将`jxl.jar`放在`lib`目录下或在IDE(如Eclipse、IntelliJ IDEA)中设置为库依赖来实现。确保正确导入`jxl`相关的包,如`jxl.write.WritableWorkbook`、`jxl.read.BiffRecord`等。 接下来,让我们看一个...

    JXL API

    JXL API不仅支持基本的单元格操作,还支持更复杂的功能,如样式设置、公式计算以及工作簿和工作表的管理。 **核心概念与功能:** 1. **单元格操作**:JXL API允许开发者创建、读取和修改Excel单元格的内容。可以...

    jxl(java_excel_jxl_oracle_imp_exp_使用全攻略).txt

    以下代码演示了如何读取并打印出Excel文件中特定单元格的内容: ```java import java.io.*; import jxl.*; public class ReadXLS { public static void main(String args[]) { try { // 加载工作簿 Workbook ...

    jxl JAVA Excel解析

    例如,读取Excel文件并打印数据的代码: ```java import jxl.*; public class Test { public static void main(String[] args) throws Exception { Workbook workbook = Workbook.getWorkbook(new File("input....

    JXL读写Excel小例子

    通过深入学习JXL库的文档,你可以根据需要实现更多功能,如读写公式、处理日期和时间、设置单元格样式等。 总的来说,JXL是一个实用的工具,尤其适合那些不希望依赖于Microsoft Office或Apache POI库,但又需要在...

    Java利用JXL读写Excel

    在这个例子中,我们首先通过`Workbook.getWorkbook()`方法打开一个Excel文件,然后获取第一个Sheet,接着遍历所有行和列,打印出每个单元格的内容。 **写入Excel文件** 写入Excel文件则涉及到创建新的`Workbook`、`...

    Java操作Excel(jxl.jar)

    例如,你可以通过`WritableFont`和`WritableCellFormat`来设置单元格的字体和格式,如下所示: ```java WritableFont font = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD); WritableCellFormat ...

    jxl操作excel文件

    以上代码展示了如何使用 jxl 库读取之前创建的 Excel 文件,并打印出指定单元格的内容。 #### 四、小结 通过本文档,您应该已经掌握了 jxl 库的基础使用方法,包括如何创建和读取 Excel 文件。虽然 jxl 的功能相比 ...

    jxl 实现excel 比较两列

    JXL提供了`Cell.setContents(String)`方法来设置单元格的值,以及`Workbook.write(File)`方法来保存修改后的Excel文件。 在实际应用中,可能还需要考虑一些其他因素,例如错误处理(如文件不存在或格式错误)、性能...

    jxl包和它的使用方法

    4. **高级功能**:除了基本的读写操作,jxl还提供了很多高级特性,如公式计算、图表操作、样式设置等。例如,你可以设置单元格的字体、颜色、对齐方式,甚至创建复杂的公式和图表。 5. **错误处理和异常**:在使用...

Global site tag (gtag.js) - Google Analytics