Java利⽤POI⽣成Excel强制换⾏
Java利⽤POI⽣成Excel强制换⾏
使⽤POI创建⼀个简单的 myXls.xls ⽂件
常⽤的包为 org.apache.poi.hssf.urmodel.*;
例⼦:
import java.io.*;棉白杨
import org.apache.poi.hssf.urmodel.*;
public class ZoomSheet {
public ZoomSheet() {
}
public static void main(String args[])
throws IOException {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("new sheet");
FileOutputStream fileOut = new FileOutputStream("workbook.xls");天文潮
wb.write(fileOut);
fileOut.clo();
}
}
类:
HSSFWorkbook 创建 xls 的对象; HSSFWorkbook hw = new HSSFWorkbook();
设置分区显⽰; hw.tRepeatingRowsAndColumns(sheet的index, ⾏, 列, ⾏, 列);
HSSFSheet 创建 xls 中的sheet(⼯作表); HSSFSheet sheet = hw.createSheet("sheet1"); sheet1 是 sheet 的名称可缺省
plateau
设置列⾼; sheet.tColumnWidth((short)short, (short)short);
五四演讲稿HSSFRow 创建 xls 中的⾏; HSSFRow row = ateRow(0); 0 表⽰第⼀⾏christmas day
设置⾏⾼; row.tHeight((short)short);
HSSFFont 创建 xls 中的字体; HSSFFont font = hw.createFont();
设定字体⼤⼩; font.tFontHeightInPoints((short)54);
设定为斜体; font.tItalic(true);
设定⽂字删除线; font.tStrikeout(true);
HSSFCellStyle 设定单元格风格; HSSFCellStyle style = wb.createCellStyle();
加⼊字体; style.tFont(font);
HSSFCell 设定单元格; HSSFCell cell = ateCell((short)0);
let me in
单元格⽔平对齐⽅式; style.tAlignment(align); //单元格⽔平 0 普通 1 左对齐 2 居中 3 右对齐 4 填充 5 正当 6 居中选择
单元格垂直对齐⽅式; style.tVerticalAlignment(align); //单元格垂直 0 居上 1 居中 2 居下 3 正当
decently
单元格下边框为细线; style.tBorderBottom((short)short);局外人英文
同上⼀命令⼀同使⽤,设置颜⾊; style.tBottomBorderColor((short)short);
单元格左边框; style.tBorderLeft((short)short);
style.tLeftBorderColor((short)short);
单元格右边框; style.tBorderRight((short)short);
style.tRightBorderColor((short)short);
单元格上边框; style.tBorderTop((short)short);
托福和雅思哪个好
style.tTopBorderColor((short)short);
单元格字符编号(中⽂); cell.tEncoding(HSSFCell.ENCODING_UTF_16); //中⽂
单元格显⽰的值; cell.tCellValue("中医药"); 值的类型有:double,int,String,Date,boolean
单元格背景⾊; style.tFillForegroundColor((short)short);
图案类型; style.tFillPattern((short)short);
单元格合并; sheet.addMergedRegion(new Region(⾏, (short)列, ⾏, (short)列));
单元格风格加⼊; cell.tCellStyle(style);
打印设置
引⼊包 import org.apache.poi.hssf.urmodel.HSSFPrintSetup;
创建打印设置对象 HSSFPrintSetup hps = hs.getPrintSetup();
设置A4纸 hps.tPaperSize((short)9);
将页⾯设置为横向打印模式 hps.tLandscape(true);
设置打印页⾯为⽔平居中 sheet.tHorizontallyCenter(true);
设置打印页⾯为垂直居中 sheet.tVerticallyCenter(true);
⽹上找到的⽂章都是说在excel⾥的⽂字⾥加上\n,\n\r,\r\n之类,反正各种各样的都有,更奇怪的是还有⼈说在单元格⾥加上<br> 后来我试过⽤\r后的效⾥是⽣成的⽂件⾥,你⽤打开时,并不会换⾏,如果你⽤⿏标在单元格⾥点⼀下之后就会⾃动换⾏。
moveup可以通过如下⽅式进⾏,
1. ⾸先在需要强制换⾏的单元格⾥使⽤poi的样式,并且把样式设定为⾃动换⾏
# HSSFCellStyle ateCellStyle();
# cellStyle.tWrapText(true);
# cell.tCellStyle(cellStyle);
2. 其次是在需要强制换⾏的单元格,使⽤\就可以实再强制换⾏
1. HSSFCell cell = ateCell((short)0);
2. cell.tCellStyle(cellStyle); cell.tCellValue(new HSSFRichTextString("hello\r\n world!"));
这样就能实现强制换⾏,
换⾏后的效⾥是单元格⾥强制换⾏
hello
world!