当前位置:学者斋 >

计算机 >office办公 >

POI设置EXCEL单元格格式的操作小结

POI设置EXCEL单元格格式的操作小结

先获取工作薄对象:

POI设置EXCEL单元格格式的操作小结

HSSFWorkbook wb = new HSSFWorkbook();

HSSFSheet sheet = teSheet();

HSSFCellStyle setBorder = teCellStyle();

一、设置背景色

illForegroundColor((short) 13);// 设置背景色

illPattern(D_FOREGROUND);

二、设置边框:

orderBottom(ER_THIN); //下边框

orderLeft(ER_THIN);//左边框

orderTop(ER_THIN);//上边框

orderRight(ER_THIN);//右边框

三、设置居中:

lignment(N_CENTER); // 居中

四、设置字体:

HSSFFont font = teFont();

ontName(黑体

ontHeightInPoints((short) 16);//设置字体大小

HSSFFont font2 = teFont();

ontName(仿宋_GB2312

oldweight(WEIGHT_BOLD);//粗体显示

ontHeightInPoints((short) 12);

ont(font);//选择需要用到的字体格式

五、设置列宽:

olumnWidth(0, 3766); //第一个参数代表列id(从0开始),第2个参数代表宽度值

六、设置自动换行:

rapText(true);//设置自动换行

七、合并单元格:

Region region1 = new Region(0, (short) 0, 0, (short) 6);

//参数1:行号 参数2:起始列号 参数3:行号 参数4:终止列号

ergedRegion(region1);

附一个完整的例子:

package ;

import CellStyle;

import Font;

import RichTextString;

import Workbook;

import Sheet;

import Row;

import Cell;

import RangeAddress;

import on;

import Style;

import OutputStream;

import Servlet;

public class CreateXL extends HttpServlet {

/** Excel 文件要存放的位置,假定在D盘下 */

public static String outputFile = c:

private void cteateCell(HSSFWorkbook wb, HSSFRow row, short col, String val) {

HSSFCell cell = teCell(col);

// ncoding(DING_UTF_16);

ellValue(val);

HSSFCellStyle cellstyle = teCellStyle();

lignment(N_CENTER_SELECTION);

ellStyle(cellstyle);}

public static void main(String argv[]) {

try {

// 创建新的`Excel 工作簿

HSSFWorkbook workbook = new HSSFWorkbook();

// 设置字体

HSSFFont font = teFont();

// olor(R_RED);

oldweight(WEIGHT_BOLD);

ontHeightInPoints((short) 14);

// HSSFFont font2 = teFont();

// oldweight(WEIGHT_BOLD);

// ontHeightInPoints((short)14);

// 设置样式

HSSFCellStyle cellStyle = teCellStyle();

ont(font);

lignment(N_CENTER);

// HSSFCellStyle cellStyle2= teCellStyle();

// ont(font2);

// lignment(N_CENTER);

// 在Excel工作簿中建一工作表,其名为缺省值

// 如要新建一名为月报表的工作表,其语句为:

HSSFSheet sheet = teSheet(月报表

CellRangeAddress cellRangeAddress = new CellRangeAddress(0, 0, 0,

11);

ergedRegion(cellRangeAddress);

//第一行

// 在索引0的位置创建行(最顶端的行)

HSSFRow row = teRow(0);

// 在索引0的位置创建单元格(左上端)

HSSFCell cell = teCell(0);

// 定义单元格为字符串类型

ellType(_TYPE_STRING);

ellStyle(cellStyle);

// 在单元格中输入一些内容

ellValue(new HSSFRichTextString(北京亿卡联科技发展有限公司小区门禁维修月报表

//第二行

cellRangeAddress = new CellRangeAddress(1, 1, 3, 6);

ergedRegion(cellRangeAddress);

row = teRow(1);

HSSFCell datecell = teCell(3);

ellType(_TYPE_STRING);

ellStyle(cellStyle);

ellValue(时间间隔xxxxx

cellRangeAddress = new CellRangeAddress(1, 1, 9,

10);

ergedRegion(cellRangeAddress);

teCell(9)ellValue(单位:元

//第三行

row=teRow(2);

teCell(0)ellValue(一、

teCell(1)ellValue(基本资料

//第4行

row=teRow(3);

teCell(1)ellValue(小区名称:

cellRangeAddress=new CellRangeAddress(3,3,2,11);

ergedRegion(cellRangeAddress);

teCell(2)ellValue(xxxxx

//第5行

row=teRow(4);

teCell(1)ellValue(座落地点

cellRangeAddress=new CellRangeAddress(4,4,2,11);

ergedRegion(cellRangeAddress);

teCell(2)ellValue(xxxxx

//第6行

row=teRow(5);

teCell(1)ellValue(建成年月:

cellRangeAddress=new CellRangeAddress(5,5,2,4);

ergedRegion(cellRangeAddress);

teCell(2)ellValue(年月日:xxxxx

teCell(5)ellValue(联系人

cellRangeAddress=new CellRangeAddress(5,5,6,8);

ergedRegion(cellRangeAddress);

teCell(6)ellValue(XXX

teCell(9)ellValue(电话

cellRangeAddress=new CellRangeAddress(5,5,10,11);

ergedRegion(cellRangeAddress);

teCell(10)ellValue(XXX

//第7行

row=teRow(6);

teCell(1)ellValue(住户:

teCell(2)ellValue((XX)

teCell(3)ellValue((户)

cellRangeAddress=new CellRangeAddress(6,6,4,5);

ergedRegion(cellRangeAddress);

teCell(4)ellValue(共计( )

teCell(6)ellValue(幢

cellRangeAddress=new CellRangeAddress(6,6,7,8);

ergedRegion(cellRangeAddress);

teCell(7)ellValue(发卡张数

cellRangeAddress=new CellRangeAddress(6,6,9,10);

ergedRegion(cellRangeAddress);

teCell(9)ellValue(xxxx

//第9行

row=teRow(8);

teCell(0)ellValue(二、

cellRangeAddress=new CellRangeAddress(8,8,1,2);

ergedRegion(cellRangeAddress);

teCell(1)ellValue(维修用材料台账

teCell(6)ellValue(三、

cellRangeAddress=new CellRangeAddress(8,8,7,9);

ergedRegion(cellRangeAddress);

teCell(7)ellValue(维修工时记录

//第10行

row=teRow(9);

teCell(0)ellValue(日期

teCell(1)ellValue(维修事项

teCell(2)ellValue(材料清单

teCell(3)ellValue(数量

teCell(4)ellValue(单价

teCell(5)ellValue(材料金额

teCell(7)ellValue(日期

teCell(8)ellValue(技工

teCell(9)ellValue(工时数

teCell(10)ellValue(单价

teCell(11)ellValue(工时金额

//填充数据

for (int i = 0; i i++) {

row=teRow(9+i+1);

teCell(0)ellValue(日期

teCell(1)ellValue(维修事项

teCell(2)ellValue(材料清单

teCell(3)ellValue(数量

teCell(4)ellValue(单价

teCell(5)ellValue(材料金额

teCell(7)ellValue(日期

teCell(8)ellValue(技工

teCell(9)ellValue(工时数

teCell(10)ellValue(单价

teCell(11)ellValue(工时金额

}

//第n+10行

row=teRow(9+10+1);

//cellRangeAddress=new CellRangeAddress(19,19,0,4);

//ergedRegion(cellRangeAddress);

teCell(0)ellValue(累计:

teCell(1)ellValue(xxx

teCell(7)ellValue(累计:

teCell(8)ellValue(xxx

// 新建一输出文件流

FileOutputStream fOut = new FileOutputStream(outputFile);

// 把相应的Excel 工作簿存盘

e(fOut);

h();

// 操作结束,关闭文件

e();

tln(文件生成...

} catch (Exception e) {

tln(已运行 xlCreate() :

  • 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/jsj/office/1vmmq2.html