package poi_test;

import java.io.FileOutputStream;
import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFPrintSetup;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class ExcelTest { public static void main(String[] args) throws IOException {
//新建文件输出流对象
FileOutputStream out = new FileOutputStream("F:/poitest.xls");
//新建workbook
HSSFWorkbook wb = new HSSFWorkbook();
//新建sheet
HSSFSheet sheet = wb.createSheet();
//新建行
HSSFRow row = sheet.createRow(2);
//设置行高
row.setHeightInPoints(20);
//新建单元格
HSSFCell cell = row.createCell(2); //创建整个文本的字体对象,workbook创建
HSSFFont cnFont = wb.createFont();
//设置字体行高,字体名字
cnFont.setFontHeightInPoints((short)10);
cnFont.setFontName("隶书"); //将文本字面格式用到单元格上,新建单元格风格
HSSFCellStyle cnStyle = wb.createCellStyle();
cnStyle.setFont(cnFont);
cell.setCellStyle(cnStyle); //单元格内文本对象新建,HSSFRichTextString的应用
HSSFRichTextString richText = new HSSFRichTextString("中文字体测试");
cell.setCellValue(richText); //再建一个单元格,重复上面的设置
HSSFCell enCell = row.createCell(3);
HSSFFont enFont = wb.createFont();
enFont.setFontHeightInPoints((short) 10);
enFont.setFontName("Arial Black");
HSSFCellStyle enStyle = wb.createCellStyle();
enStyle.setFont(enFont);
enCell.setCellStyle(enStyle);
enCell.setCellValue(new HSSFRichTextString("English font test"));
sheet.setColumnWidth(2, 4000);
sheet.setColumnWidth(3, 4000); //输出
//设置边框
sheet.setDisplayGridlines(false);
//设置打印的边框
sheet.setPrintGridlines(false); //设置打印对象
HSSFPrintSetup printSetup = sheet.getPrintSetup();
//设置页边距
printSetup.setHeaderMargin((double) 0.44); // 页眉
printSetup.setFooterMargin((double) 0.2);//页脚 //设置页宽
printSetup.setFitWidth((short)1);
printSetup.setFitHeight((short)1000); //设置打印方向,横向就是true
printSetup.setLandscape(true);
//设置A4纸
printSetup.setPaperSize(HSSFPrintSetup.A4_PAPERSIZE); //打印,关闭流
wb.write(out);
out.close(); System.out.println("ok");
} }
//以下为转载
HSSFSheet fromsheet = wb.getSheetAt(0); //模版页
for(int num=0;num<addSheetNum;num++)//新增
{
String numStr = String.valueOf(num+2); HSSFSheet newsheet = wb.createSheet("第"+numStr+"页");
//设置打印参数
newsheet.setMargin(HSSFSheet.TopMargin,fromsheet.getMargin(HSSFSheet.TopMargin));// 页边距(上)
newsheet.setMargin(HSSFSheet.BottomMargin,fromsheet.getMargin(HSSFSheet.BottomMargin));// 页边距(下)
newsheet.setMargin(HSSFSheet.LeftMargin,fromsheet.getMargin(HSSFSheet.LeftMargin) );// 页边距(左)
newsheet.setMargin(HSSFSheet.RightMargin,fromsheet.getMargin(HSSFSheet.RightMargin));// 页边距(右 HSSFPrintSetup ps = newsheet.getPrintSetup();
ps.setLandscape(false); // 打印方向,true:横向,false:纵向(默认)
ps.setVResolution((short)600);
ps.setPaperSize(HSSFPrintSetup.A4_PAPERSIZE); //纸张类型 SheetFunc.copyRows(wb, 0, num+1,0 , 46, 0);//复制
wb.getSheetAt(num+1).setColumnWidth((short)0, (short)2400);//256,31.38
}

【Java】常用POI生成Excel文档设置打印样式的更多相关文章

  1. Java之Poi导出Excel文档

    一.Poi简介 在后台管理系统中,我们经常要做的导出操作,通常导出为Excel文档的形式,而Poi则提供了这种需要的支持. 二.Workbook/HSSFWorkbook/XSSFWorkbook 1 ...

  2. java操作poi生成excel.xlsx(设置下拉框)下载本地和前端下载

    需求:导入excel表格,如果excel有错误,将错误的地方标红,在把数据以excel的形式写出,供用户下载解决方案:1.以实体类的方式接收excel并解析(创建两个集合一个接收正常的数据一个接收错误 ...

  3. C# NPOI生成Excel文档(简单样式)

    效果图: 代码:  /// <summary> /// 导出Excel /// </summary> /// <param name="DeptId" ...

  4. POI 生成 word 文档 简单版(包括文字、表格、图片、字体样式设置等)

      POI 生成word 文档 一般有两种方法: ① word模板 生成word 文档 : ② 写代码直接生成 word 文档: 我这里演示的是第二种方法,即写代码生成 word文档,不多说废话,直接 ...

  5. POI生成WORD文档

    h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...

  6. Java 利用 poi 生成 Excel文件的通用例子

    在用java 写数据库应用的时候, 通常会生成各种报表,而这些报表可能会被导出为各种格式的文件,比如Excel文档,pdf 文档等等. 今天先做了一个生成Excel 文档的例子,主要解决以下问题: 生 ...

  7. 后台生成EXCEL文档,自定义列

    后台生成EXCEL文档,自定义列 //response输出流处理 //设置编码.类型.文件名 getResponse().reset(); getResponse().setCharacterEnco ...

  8. php用PHPExcel库生成Excel文档的例子

    <?php require_once '../libs/PHPWord/PHPWord.php'; require_once '../libs/PHPWord/PHPWord/IOFactory ...

  9. NPOI 2.1.1 系列(2) 使用NPOI读取List或者datatable数据生成 Excel文档 ;Npoi生成 xlsx 2007以上文档

    结合上一篇文章  NPOI 2.1.1 系列(1) 使用NPOI读取 Excel文档 ;NpoiExcelHelper 导入导出 2003格式 2007格式的 Excel; Npoi 导出 xlsx ...

随机推荐

  1. 深入Redis 主从复制原理

    原文:深入Redis 主从复制原理 1.复制过程 2.数据间的同步 3.全量复制 4.部分复制 5.心跳 6.异步复制 1.复制过程 从节点执行 slaveof 命令. 从节点只是保存了 slaveo ...

  2. 【转载】深入理解Direct3D9

    原文:Effulgent的<深入理解Direct3D9>整理版(转) 深入理解Direct3D9 深入理解D3D9对图形程序员来说意义重大,我把以前的一些学习笔记都汇总起来,希望对朋友们有 ...

  3. day 13 字典dict 操作

    1.len   键值对的个数 In [4]: nums = [11,22,33] In [6]: len(nums) Out[6]: 3 In [7]: infor = {"name&quo ...

  4. Migrating to WebSphere 9

    Migrating to WebSphere 9 Make a migration plan Requirements Migrate WebSphere profiles into the new ...

  5. charles基本使用文档

    Charles 主要的功能包括: 截取 Http 和 Https 网络封包. 支持重发网络请求,方便后端调试. 支持修改网络请求参数. 支持网络请求的截获并动态修改. 支持模拟慢速网络. Charle ...

  6. Gradle初使用

    我以前一直使用Maven来构建工程,这两天突然发现gradle也非常好用,记录一下自己使用gradle的过程. Gradle的下载与配置 本次选择下载的是gradle3.5版本,没选最新的gradle ...

  7. Javascript 初学笔记

    变量作用域 自 ES2015 起,JS 引入let 和 const 关键词定义变量的块作用域(Block Scope). var 仅支持全局作用域(Global Scope)和函数作用域(Functi ...

  8. Tree - XGBoost with parameter description

    In the previous post, we talk about a very popular Boosting algorithm - Gradient Boosting Decision T ...

  9. org.apache.poi版本问题

    问题描述: 今天跑一段历史代码,发现不能启动,抛出java.lang.NoSuchFieldError: RETURN_NULL_AND_BLANK 问题 解决办法: 把org.apache.poi的 ...

  10. Java跨平台的实现原理

    不同操作系统支持的指令集有所差异,只要在不同操作系统上安装对应的jvm,jvm负责把Java字节码翻译成对应机器的二进制码,从而实现java语言的跨平台.