【Java】常用POI生成Excel文档设置打印样式
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文档设置打印样式的更多相关文章
- Java之Poi导出Excel文档
一.Poi简介 在后台管理系统中,我们经常要做的导出操作,通常导出为Excel文档的形式,而Poi则提供了这种需要的支持. 二.Workbook/HSSFWorkbook/XSSFWorkbook 1 ...
- java操作poi生成excel.xlsx(设置下拉框)下载本地和前端下载
需求:导入excel表格,如果excel有错误,将错误的地方标红,在把数据以excel的形式写出,供用户下载解决方案:1.以实体类的方式接收excel并解析(创建两个集合一个接收正常的数据一个接收错误 ...
- C# NPOI生成Excel文档(简单样式)
效果图: 代码: /// <summary> /// 导出Excel /// </summary> /// <param name="DeptId" ...
- POI 生成 word 文档 简单版(包括文字、表格、图片、字体样式设置等)
POI 生成word 文档 一般有两种方法: ① word模板 生成word 文档 : ② 写代码直接生成 word 文档: 我这里演示的是第二种方法,即写代码生成 word文档,不多说废话,直接 ...
- POI生成WORD文档
h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...
- Java 利用 poi 生成 Excel文件的通用例子
在用java 写数据库应用的时候, 通常会生成各种报表,而这些报表可能会被导出为各种格式的文件,比如Excel文档,pdf 文档等等. 今天先做了一个生成Excel 文档的例子,主要解决以下问题: 生 ...
- 后台生成EXCEL文档,自定义列
后台生成EXCEL文档,自定义列 //response输出流处理 //设置编码.类型.文件名 getResponse().reset(); getResponse().setCharacterEnco ...
- php用PHPExcel库生成Excel文档的例子
<?php require_once '../libs/PHPWord/PHPWord.php'; require_once '../libs/PHPWord/PHPWord/IOFactory ...
- 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 ...
随机推荐
- stardict词库
http://download.huzheng.org/zh_CN/ sudo tar -jxvf * -C /usr/share/stardict/dic
- 【CF995F】Cowmpany Cowmpensation
[CF995F]Cowmpany Cowmpensation 题面 树形结构,\(n\)个点,给每个节点分配工资\([1,d]\),子节点不能超过父亲节点的工资,问有多少种分配方案 其中\(n\leq ...
- CF 868 F. Yet Another Minimization Problem
F. Yet Another Minimization Problem http://codeforces.com/contest/868/problem/F 题意: 给定一个长度为n的序列.你需要将 ...
- 获取安卓app的appPackage和appActivity
1.需要配置好android的开发环境后,打开cmd命令窗口 2.在命令窗口中输入,adb logcat>D:/log.log,抓取日志 3.运行启动app 4.查看日志log 5.搜索日志的关 ...
- Java学习计划
Java学习计划&书单--2018.10.13 W3C Struts教程 W3C Spring教程 W3C Hibernate教程 <深入JavaWeb技术内幕> Java Web ...
- 微信小程序转换为百度小程序
据粗略预估,微信小程序和百度小程序,有至少90%以上的相似代码,而且api的参数和返回的数据都是一致的,有一些不一致的将做如下介绍:.wxml文件,改成后辍名.swan.wxss文件,改成后辍名为.c ...
- linux源码学习-for_each_cpu
刚开始读linux源码,第一眼就看到了这个很有意思的函数族,周末好好研究一下 3.13 这个组都是宏定义for循环,分析的时候注意到cpumask_next(),它在一个文件中定义了两次,还不是重载, ...
- POJ 1417 并查集 dp
After having drifted about in a small boat for a couple of days, Akira Crusoe Maeda was finally cast ...
- 集合set、map、list
一.set 无序.可重复 public static void main(String[] args){ Set<String> set=new HashSet<String> ...
- DX孟虎点评新兴市场:巴西俄罗斯火爆背后
[亿邦动力网讯]4月3日消息,在第九届中国中小企业电子商务大会暨2014中国(河南)跨境贸易电子商务峰会上,DX公司CEO孟虎对新兴市场做了详细的分析,指出在当今的跨境电商环境下,北美.西欧作为电商成 ...