POI创建生成excel及设置相关属性
简单的读写到excel中:
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook; public class CreateEx {
/**
*
* 层次结构就是workbook-->Sheet-->Row-->Cell
* 只要按照这种层次结构操作就不会有什么大的问题
* @author Administrator
* @throws IOException
*
*/
public static void main(String[] args) throws IOException {
//HSSFWorkbook对应的是2003
//XSSFWorkbook对应的是2007
//对于03和07它们的操作都是差不多的,只是在需要用07的时候把相应的HSSF前缀改成XSSF前缀就可以了
//第一步建一个工作簿,即workbook
Workbook workbook = new HSSFWorkbook();
//第二步建一个工作表单,急sheet
Sheet sheet = workbook.createSheet("mysheet1");
for (int i=0;i<5;i++) {
//有了表单以后就是行Row了,
Row row = sheet.createRow(i);
for (int j=0;j<5;j++) {
//有了row以后就是row上的一个个小的单元格了
Cell cell = row.createCell(j);
//给单元格添加内容
cell.setCellValue("row"+(i+1)+",column"+(j+1));
}
}
//建一个用于存放新建的excel的文件输出流
OutputStream os = new FileOutputStream("f://2.xls");
//把形成的workbook写到一个输出流里面
workbook.write(os);
os.close();
}
}

合并单元格:
public static void main(String args[]) throws IOException {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("sheet1");
HSSFRow row = sheet.createRow(1);
HSSFCell cell = row.createCell(1);
cell.setCellValue("a test of merge!");
//执行合并操作的语句
sheet.addMergedRegion(new CellRangeAddress(
1,// 开始行
1,// 结束行
1,// 开始列
3// 结束列
));
OutputStream os = new FileOutputStream("f://3.xls");
wb.write(os);
os.close();
}

换行:
public static void main(String args[]) throws IOException {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
HSSFRow row = sheet.createRow(6);
sheet.autoSizeColumn(2);
for (int i=0;i<5;i++) {
HSSFCell cell = row.createCell(i+2);
HSSFCellStyle style = wb.createCellStyle();
//to set cell newLine should set its wrap true
style.setWrapText(true);
//利用\n来实现换行操作,只有在Cell设置为setWrapText(true)的时候才能实现人为的换行
cell.setCellValue("just use \n to wrap in a cell!");
cell.setCellStyle(style);
}
OutputStream os = new FileOutputStream("f://4.xls");
wb.write(os);
os.close();
}

画图:
public static void main(String[] args) throws IOException {
//drawing shapes
/*
* To create a shape you have to go through the following steps:
1.Create the patriarch.
2.Create an anchor to position the shape on the sheet.
3.Ask the patriarch to create the shape.
4.Set the shape type (line, oval, rectangle etc...)
5.Set any other style details converning the shape. (eg: line thickness, etc...)
*/
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
HSSFPatriarch partriarch = (HSSFPatriarch) sheet.createDrawingPatriarch();
HSSFSimpleShape shape = partriarch.createSimpleShape(new HSSFClientAnchor(0,0,0,0,(short)3,3,(short)5,5));
shape.setShapeType(HSSFSimpleShape.OBJECT_TYPE_OVAL);
//shape可以设置很多的属性
shape.setFillColor(255,200,200);
shape.setLineStyle(HSSFSimpleShape.LINESTYLE_DASHGEL);
//Text boxes are created using a different call:
OutputStream os = new FileOutputStream("f://5.xls");
wb.write(os);
os.close();
}

POI创建生成excel及设置相关属性的更多相关文章
- poi生成excel整理(设置边框/字体/颜色/加粗/居中/)
转: poi生成excel整理(设置边框/字体/颜色/加粗/居中/) 2016年12月02日 11:05:23 吃奶的牛 阅读数:34324 HSSFWorkbook wb = new HSSFW ...
- 【POI】使用POI 创建生成XLS,打开xls文件提示【此文件中某些文本格式可能已经更改,因为它已经超出最多允许的字体数。】
使用POI 创建生成XLS,打开xls文件提示[此文件中某些文本格式可能已经更改,因为它已经超出最多允许的字体数.] 原因: 是因为在POI处理xls的过程中,太多次调用了: HSSFFont fon ...
- asp.net+nopi生成Excel遇到设置单元格值null问题
Npoi 生成excel报表功能很不错,功能也不用给大家介绍了.首先看遇到的问题吧! FileStream file = new FileStream(Server.MapPath("Tem ...
- 使用poi实现生成excel文件
import java.util.ArrayList; import javax.servlet.ServletOutputStream; import org.apache.poi.hssf.use ...
- VBA 打印设置相关属性及方法
打印设置说明,以下均为默认值. With ActiveSheet.PageSetup .PrintTitleRows = "" '工作表打印标题:顶端标题行(R) .PrintTi ...
- 工作总结 @Html 辅助方法 为 生成的 标签设置元素属性 htmlAttributes 一个对象,其中包含要为该元素设置的 HTML 特性。
@Html.RadioButtonFor(m => m.IsJianChe, true, new { @style = "width: 18px; height: 18px;" ...
- Struts2使用POI创建Excel并下载
本文将讲解在Struts2框架下如何使用POI创建Office Excel文档并实现下载功能. Apache POI ,操作微软文档的Java API,简单来说就是可以用来操作Office文档的API ...
- poi自动生成Ecxel表格和Chart图表
最近因为业务需求,需要做poi自动导出Ecxel表格和Chart折线图的功能. 所以我在网上找到了一篇关于poi生成Chart图表的博客,代码很详细,但是缺少相关注释说明. 想要将它改造成自己需要的样 ...
- springMVC(4)---生成excel文件并导出
springMVC(4)---生成excel文件并导出 在开发过程中,需要将数据库中的数据以excel表格的方式导出. 首先说明.我这里用的是Apache的POI项目,它是目前比较成熟的HSSF接口, ...
随机推荐
- 64位Win7中7zip无法关联文件的问题
问题1:win7x64中安装了7zip,在解压文件右键打开无法关联文件. 解决方法1:在开始菜单中打开7-zip File Manage->工具 ->选项 ->7-zip 勾选“添加 ...
- 原生js回到顶部
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- perl C/C++ 扩展(一)
通过h2xs 中间件,我们可以快速的使用c或则C++ 库来实现perl 扩展功能 第一讲:跑通hello world 程序******************************我们使用命令:h2 ...
- perl C/C++ 扩展(四)
在前面三篇博客中,我们了解到如何使用c/c++ 扩展自己的perl 库,但是博主在学习过程中,对动态库或静态库的加载不是十分了解,后来自己又细挖一下.后来就有了这篇博文,再后来,没有再后来了,囧!! ...
- Mysql字符串截取总结及项目实际运用:left()、right()、substring()、substring_index()
在实际的项目开发中有时会有对数据库某字段截取部分的需求,这种场景有时直接通过数据库操作来实现比通过代码实现要更方便快捷些,mysql有很多字符串函数可以用来处理这些需求,如Mysql字符串截取总结:l ...
- windows如何搭建redis集群
操作系统:win10 64位 redis版本:3.2.1-x64 ruby版本:2.5.1-1-x64 rubygems版本:2.7.6 今天突然想简单的搭建一个redis的集群,因为系统是Windo ...
- 在spring的过滤器中注入实体类(@autowire会失效可使用这个方法)
转载:难得可贵的好文章 https://blog.csdn.net/chl191623691/article/details/78657638 首先,本文 绝对是好文!不止本文,作者的文章都是很经 ...
- 头部和信号栏一个颜色appcloud
<header id="header" > <ul > <li class="active" onclick="api. ...
- [转]AngularJS:何时应该使用Directive、Controller、Service?
AngularJS是一款非常强大的前端MVC框架.同时,它也引入了相当多的概念,这些概念我们可能不是太熟悉.(译者注:老外真谦虚,我大天朝的码农对这些概念那是相当熟悉啊!)这些概念有: Directi ...
- MySql中查询语句实现分页功能
import java.util.*;import java.sql.*; public class FruitDao { private Connection conn; private ...