简单的读写到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及设置相关属性的更多相关文章

  1. poi生成excel整理(设置边框/字体/颜色/加粗/居中/)

    转: poi生成excel整理(设置边框/字体/颜色/加粗/居中/) 2016年12月02日 11:05:23 吃奶的牛 阅读数:34324   HSSFWorkbook wb = new HSSFW ...

  2. 【POI】使用POI 创建生成XLS,打开xls文件提示【此文件中某些文本格式可能已经更改,因为它已经超出最多允许的字体数。】

    使用POI 创建生成XLS,打开xls文件提示[此文件中某些文本格式可能已经更改,因为它已经超出最多允许的字体数.] 原因: 是因为在POI处理xls的过程中,太多次调用了: HSSFFont fon ...

  3. asp.net+nopi生成Excel遇到设置单元格值null问题

    Npoi 生成excel报表功能很不错,功能也不用给大家介绍了.首先看遇到的问题吧! FileStream file = new FileStream(Server.MapPath("Tem ...

  4. 使用poi实现生成excel文件

    import java.util.ArrayList; import javax.servlet.ServletOutputStream; import org.apache.poi.hssf.use ...

  5. VBA 打印设置相关属性及方法

    打印设置说明,以下均为默认值. With ActiveSheet.PageSetup .PrintTitleRows = "" '工作表打印标题:顶端标题行(R) .PrintTi ...

  6. 工作总结 @Html 辅助方法 为 生成的 标签设置元素属性 htmlAttributes 一个对象,其中包含要为该元素设置的 HTML 特性。

    @Html.RadioButtonFor(m => m.IsJianChe, true, new { @style = "width: 18px; height: 18px;" ...

  7. Struts2使用POI创建Excel并下载

    本文将讲解在Struts2框架下如何使用POI创建Office Excel文档并实现下载功能. Apache POI ,操作微软文档的Java API,简单来说就是可以用来操作Office文档的API ...

  8. poi自动生成Ecxel表格和Chart图表

    最近因为业务需求,需要做poi自动导出Ecxel表格和Chart折线图的功能. 所以我在网上找到了一篇关于poi生成Chart图表的博客,代码很详细,但是缺少相关注释说明. 想要将它改造成自己需要的样 ...

  9. springMVC(4)---生成excel文件并导出

    springMVC(4)---生成excel文件并导出 在开发过程中,需要将数据库中的数据以excel表格的方式导出. 首先说明.我这里用的是Apache的POI项目,它是目前比较成熟的HSSF接口, ...

随机推荐

  1. Codeforces325 D【并查集维护连通性】

    参考:大牛blog 思路: 因为是环,所以可以复制一下图,先判断一下和他是不是和与他相邻的8个之一的一个障碍使得构成了一个环,环就是一个连通,用并查集维护即可: 如果没有就ans++,然后并把这个点加 ...

  2. 51nod1076(tarjan)

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1076 题意:中文题诶- 思路:先用tarjan找出所有桥,再用 ...

  3. MySQL 派生表(Derived Table) Merge Optimization

    本文将通过演示告诉你:MySQL中派生表(Derived Table)是什么?以及MySQL对它的优化. Background 有如下一张表: mysql> desc city; +------ ...

  4. elasticsearch bigdesk 安装和使用

    http://blog.csdn.net/laigood/article/details/8207990

  5. iOS开发 - 线程与进程的认识与理解

    进程: 进程是指在系统中正在运行的一个应用程序,比如同时打开微信和Xcode,系统会分别启动2个进程; 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内; 线程: 一个进程要想执行任务 ...

  6. Codeforces 1107F(dp)

    怎么就没人解释一下为啥用b排序可以保证正确性呢……太菜了,理解了好久. 时间流逝价值会丢失的背包,类似题洛谷1417 本题与洛谷1417不同之处在于流逝是有截止的. 1.这个dp[j]的含义是:最后跑 ...

  7. Django 使用Paginator分页

    from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger subclass_s = models.subclas ...

  8. audio、video的控制

    W3C上面给的是js控制相关的播放与暂停,不过在实际开发中我们多会选择JQ来操作的,毕竟方便很多,而play()和pause()用于js play并不是jQuery的函数,而是DOM元素的函数,所以我 ...

  9. 详细说明phpmyadmin连接,管理多个mysql服务器

    用phpmyadimn来连接管理多个数据库要修改配置文件,挺不爽的,并且连接远程数据库,速度不行.可以使用其他数据库管理工具,请参考,navicat 结合快捷键 非常好用,开源,好用mysql 管理工 ...

  10. 我的NopCommerce之旅(4): 定时任务之邮件

    一.功能简介 用户购买物品生成订单后,系统将发送邮件提醒给用户 二.操作步骤 后台配置一个系统的默认发送邮箱 启动定时任务,这里包括多个任务,只需要启动邮件任务 查看邮件发送情况 三.数据库分析 [d ...