Java利用POI生成Excel强制换行(转载)

使用POI创建一个简单的 myXls.xls 文件

常用的包为 org.apache.poi.hssf.usermodel.*;
例子:

import java.io.*;
import org.apache.poi.hssf.usermodel.*;

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.close();
}
}

类:
HSSFWorkbook 创建 xls 的对象; HSSFWorkbook hw = new HSSFWorkbook();
设置分区显示; hw.setRepeatingRowsAndColumns(sheet的index, 行, 列, 行, 列);
HSSFSheet 创建 xls 中的sheet(工作表); HSSFSheet sheet = hw.createSheet("sheet1"); sheet1 是 sheet 的名称 可缺省
设置列高; sheet.setColumnWidth((short)short, (short)short);
HSSFRow 创建 xls 中的行; HSSFRow row = sheet.createRow(0); 0 表示第一行
设置行高; row.setHeight((short)short);
HSSFFont 创建 xls 中的字体; HSSFFont font = hw.createFont();
设定字体大小; font.setFontHeightInPoints((short)54);
设定为斜体; font.setItalic(true);
设定文字删除线; font.setStrikeout(true);
HSSFCellStyle 设定单元格风格; HSSFCellStyle style = wb.createCellStyle();
加入字体; style.setFont(font);
HSSFCell 设定单元格; HSSFCell cell = row.createCell((short)0);
单元格水平对齐方式; style.setAlignment(align); //单元格水平 0 普通 1 左对齐 2 居中 3 右对齐 4 填充 5 正当 6 居中选择
单元格垂直对齐方式; style.setVerticalAlignment(align); //单元格垂直 0 居上 1 居中 2 居下 3 正当

单元格下边框为细线; style.setBorderBottom((short)short);
同上一命令一同使用,设置颜色; style.setBottomBorderColor((short)short);
单元格左边框; style.setBorderLeft((short)short);
style.setLeftBorderColor((short)short);
单元格右边框; style.setBorderRight((short)short);
style.setRightBorderColor((short)short);
单元格上边框; style.setBorderTop((short)short);
style.setTopBorderColor((short)short);
单元格字符编号(中文); cell.setEncoding(HSSFCell.ENCODING_UTF_16); //中文
单元格显示的值; cell.setCellValue("中医药"); 值的类型有:double,int,String,Date,boolean
单元格背景色; style.setFillForegroundColor((short)short);
图案类型; style.setFillPattern((short)short);
单元格合并; sheet.addMergedRegion(new Region(行, (short)列, 行, (short)列));

单元格风格加入; cell.setCellStyle(style);

打印设置
引入包 import org.apache.poi.hssf.usermodel.HSSFPrintSetup;
创建打印设置对象 HSSFPrintSetup hps = hs.getPrintSetup();
设置A4纸 hps.setPaperSize((short)9);
将页面设置为横向打印模式 hps.setLandscape(true);

设置打印页面为水平居中 sheet.setHorizontallyCenter(true);
设置打印页面为垂直居中 sheet.setVerticallyCenter(true);

网上找到的文章都是说在excel里的文字里加上\n,\n\r,\r\n之类,反正各种各样的都有,更奇怪的是还有人说在单元格里加 上<br>
后来我试过用\r后的效里是生成的文件里,你用打开时,并不会换行,如果你用鼠标在单元格里点一下之后就会自动换行。

可以通过如下方式进行,
1. 首先在需要强制换行的单元格里使用poi的样式,并且把样式设定为自动换行
# HSSFCellStyle cellStyle=workbook.createCellStyle();
# cellStyle.setWrapText(true);
# cell.setCellStyle(cellStyle);
2. 其次是在需要强制换行的单元格,使用\就可以实再强制换行
1. HSSFCell cell = row.createCell((short)0);
2. cell.setCellStyle(cellStyle); cell.setCellValue(new HSSFRichTextString("hello\r\n world!"));
这样就能实现强制换行,
换行后的效里是单元格里强制换行
hello
world!

时间: 2024-10-04 01:19:22

Java利用POI生成Excel强制换行(转载)的相关文章

Java利用POI生成Excel强制换行

前一段时间在做一个学校排课系统时,有一个地方需要利用把课程表生成excel汇出给客户,由于之前用excel都只是简单的应用,在单元格里都是用自动换行,而这次可能需要用到手动强制换行. 于是我在网上找了一下,网上找到的文章都是说在excel里的文字里加上/n,/n/r,/r/n之类,反正各种各样的都有,更奇怪的是还有人说在单元格里加上<br> 后来我试过用/r后的效里是生成的文件里,你用打开时,并不会换行,如果你用鼠标在单元格里点一下之后就会自动换行. 后来我琢磨了一下,可以通过如下方式进行, 

java 利用 poi 生成 Excel文件的例子

在用java 写数据库应用的时候, 通常会生成各种报表,而这些报表可能会被导出为各种格式的文件,比如Excel文档,pdf 文档等等. 今天先做了一个生成Excel 文档的例子,主要解决以下问题: 1. 生成 Excel 文档. 2. 保护生成Excel文档,设置密码访问. 3. 自动对生成的Excel 文档第一行标题栏设置成filter 过滤形式, 方便用户使用. 用 apache  POI 生成 Excel 文档公用类  程序代码 package com.yihaomen.poi.sampl

POI生成Excel强制换行

自动换行的设置: HSSFCellStyle cellStyle=workbook.createCellStyle(); cellStyle.setWrapText(true); cell.setCellStyle(cellStyle); 强制换行: <pre name="code" class="html">HSSFCell cell = row.createCell((short)0); cell.setCellStyle(cellStyle); c

Java利用poi生成word(包含插入图片,动态表格,行合并)

转: Java利用poi生成word(包含插入图片,动态表格,行合并) 2018年12月20日 09:06:51 wjw_11093010 阅读数:70 Java利用poi生成word(包含插入图片,动态表格,行合并) 测试模板样式: Word生成结果: 图表 2需要的jar包:(具体jar可自行去maven下载) 注意:需要严格按照上面版本下载jar包,否则可能出现jar包之间不能匹配的导致代码报错 各种 jar包都可以在这里下载: https://mvnrepository.com/ Tes

java使用poi生成Excel文件

1. maven导入poi包: <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> </dependency> pom.xml 2. 新建测试数据实体类: package com.clz.testexportexcel; public class Exc

java利用poi读取excel异常问题

最近一个web工程需要完成一个小功能,利用文件上传然后读取文件内容写入到数据库,这里是操作的excel文件,excel文件分两种后缀,03版本的xls和之后的xlsx,现在大家一般都拿非常好用的插件直接过来用就可以了,我这里用的是java poi相关资源包. 1,首先要能够读取带xlsx的excel文件,必须要导入如下的jar包 然后遇到的问题是在本地工程下建立的一个测试类测试没有异常,两种excel的文件都能读取,但是一旦发布到web工程下,我的工程是在tomcat下跑的.这里就出现了问题,总

java利用poi读取Excel文件

java读取Excel文件,笔者认为:从结构上来看,Excel文件是由一个一个的单元格组成的,有点像细胞cell,逐行的排列.那么我们读的时候也应该逐行逐行的读,从左到右的寻找每一个cell.一.实例代码: 只是实现了一种方式,因为依照读取内容的不同,读取的后想要的操作不同,因此不能苟同全部,只是方法是相通的.说道Excel文件的结构,这货从数学的角度来说,绝对是一个二维数组,因此我就拿字符串二维数组接受读取后的内容,并每个单元格每个单元格的打印.当然也可以返回三维数组(包含该单元格的位置坐标)

java利用poi解析excel文件

首先需要引入以下jar包 如果使用maven,需要添加两个依赖 <dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.15</version> </dependency> <dependency> <groupId>org.ap

java 利用poi 实现excel合并单元格后出现边框有的消失的解决方法

使用工具类RegionUtil CellRangeAddress cra = new CellRangeAddress(nowRowCount, nowRowCount + followSize-1, n, n); // 起始行, 终止行, 起始列, 终止列 Cell cell = sheet.getRow(nowRowCount).getCell(n); //设置单元格其他样式 cell.setCellStyle(cellStyle); // 使用RegionUtil类为合并后的单元格添加边框