java poi 换行_java poi出excel换行问题

本文演示了如何使用Java POI库处理Excel文件并实现单元格内容的换行。通过创建一个新的XSSFWorkbook对象,获取指定工作簿的Sheet,然后对特定单元格进行操作,设置单元格类型为字符串,插入包含换行符的文本,并启用自动换行功能。最后,调整行高和列宽以适应内容,并保存到新的Excel文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package jp.co.misumi.mdm.batch.common.jobrunner;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import org.apache.poi.EncryptedDocumentException;

import org.apache.poi.openxml4j.exceptions.InvalidFormatException;

import org.apache.poi.ss.usermodel.Cell;

import org.apache.poi.ss.usermodel.CellStyle;

import org.apache.poi.ss.usermodel.Row;

import org.apache.poi.ss.usermodel.Sheet;

import org.apache.poi.ss.usermodel.Workbook;

import org.apache.poi.ss.usermodel.WorkbookFactory;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import com.amazonaws.services.devicefarm.model.Test;

import jp.co.misumi.mdm.batch.common.def.BatchConstants;

import jp.co.misumi.mdm.core.common.excel.writer.ExcelWriterExt;public classDemo

{public static voidmain(String[] args) {//TODO Auto-generated method stub

try{

Test();

}catch(EncryptedDocumentException e)

{//TODO Auto-generated catch block

e.printStackTrace();

}catch(InvalidFormatException e)

{//TODO Auto-generated catch block

e.printStackTrace();

}catch(IOException e)

{//TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println("---END---");

}public static voidTest() throws IOException, EncryptedDocumentException, InvalidFormatException

{//初始化输入流

InputStream inp;try{

XSSFWorkbook wb= null;try{

wb= new XSSFWorkbook("D:/workbook.xlsx");

}catch(Exception e)

{//TODO Auto-generated catch block

e.printStackTrace();

}//创建读取对应的文件生成对象//得到第0个工作薄

Sheet sheet = wb.getSheetAt(0);//得到第3行 小标从0开始,所以是2

Row row = sheet.getRow(2);//得到第三行第4个单元格 4D 小标从0开始所以是三

Cell cell = row.getCell(3);//查看该单元格是否定义,如果没有定义返回NULL//,否则返回一个逻辑上的单元格,如果没有则创建//??为什么需要先判断为空,因为如果该单元格已经//存在而且已经定义,如果你在创建,原来的单元格//将会被你重新创建的单元格覆盖,这样做可以节约//你的空间,因为没有重新创建对象

if (cell == null)

cell= row.createCell(3);//设置单元格的类型是String字符串文本类型

cell.setCellType(Cell.CELL_TYPE_STRING);//设定值//设置单元格中的值 使用有\n换行符

String xxx = "Use \n with word wrap on to create a new line";

cell.setCellValue(xxx);//cell.setCellValue("a test");

CellStyle cs=wb.createCellStyle();

cs.setWrapText(true);

cell.setCellStyle(cs);//增加行的高度以适应2行文本的高度,设置高度单位(像素)

row.setHeightInPoints((2*sheet.getDefaultRowHeightInPoints()));//调整该列宽度适应内容//sheet.autoSizeColumn((short)2);//重新写如文件

FileOutputStream fileOut = new FileOutputStream("D:/workbook1.xlsx");

wb.write(fileOut);

fileOut.close();

}finally{

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值