一、java poi操作2007word,输入什么代表换行符
悄悄问了问度娘,她说按下面方式做就ok了:
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!
二、poi生成表格不能自动换行
POI生成excel表格,如何合并单元格Java代码import java.io.FileOutputStream;import java.io.IOException;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.util.Region;public class ExcelTest {/*** @param args*/public static void main(String[] args) throws IOException {try {HSSFWorkbook wb = new HSSFWorkbook();HSSFSheet sheet = wb.createSheet("new sheet");HSSFCellStyle style = wb.createCellStyle(); // 样式对象style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 水平HSSFRow row = sheet.createRow((short) 0);HSSFRow row2 = sheet.createRow((short) 1);sheet.addMergedRegion(new Region(0, (short) 0, 1, (short) 0));HSSFCell ce = row.createCell((short) 0);ce.setEncoding(HSSFCell.ENCODING_UTF_16);// 中文处理ce.setCellValue("项目\\日期"); // 表格的第一行第一列显示的数据ce.setCellStyle(style); // 样式,居中int num = 0;for (int i = 0; i < 9;="" i++)="" {="" 循环9次,每一次都要跨单元格显示//="" 计算从那个单元格跨到那一格int="" celln="0;int" celle="0;if" (i="=" 0)="" {celln="0;celle" =="" 1;}="" else="" {celln="(i" *="" 2);celle="(i" *="" 2="" +="" 1);}//="" 单元格合并//="" 四个参数分别是:起始行,起始列,结束行,结束列sheet.addmergedregion(new="" region(0,="" (short)="" (celln="" +="" 1),="" 0,(short)="" (celle="" +="" 1)));hssfcell="" cell="row.createCell((short)" (celln="" +="" 1));cell.setcellvalue("merging"="" +="" i);="" 跨单元格显示的数据cell.setcellstyle(style);="" 样式//="" 不跨单元格显示的数据,如:分两行,上一行分别两格为一格,下一行就为两格,“数量”,“金额”hssfcell="" cell1="row2.createCell((short)" celle);hssfcell="" cell2="row2.createCell((short)" (celle="" +="" 1));cell1.setencoding(hssfcell.encoding_utf_16);cell1.setcellvalue("数量");cell1.setcellstyle(style);cell2.setencoding(hssfcell.encoding_utf_16);cell2.setcellvalue("金额");cell2.setcellstyle(style);num++;}//="" 在后面加上合计百分比//="" 合计="" 在最后加上,还要跨一个单元格sheet.addmergedregion(new="" region(0,="" (short)="" (2="" *="" num="" +="" 1),="" 0,(short)="" (2="" *="" num="" +="" 2)));hssfcell="" cell="row.createCell((short)" (2="" *="" num="" +="" 1));cell.setencoding(hssfcell.encoding_utf_16);cell.setcellvalue("合计");cell.setcellstyle(style);hssfcell="" cell1="row2.createCell((short)" (2="" *="" num="" +="" 1));hssfcell="" cell2="row2.createCell((short)" (2="" *="" num="" +="" 2));cell1.setencoding(hssfcell.encoding_utf_16);cell1.setcellvalue("数量");cell1.setcellstyle(style);cell2.setencoding(hssfcell.encoding_utf_16);cell2.setcellvalue("金额");cell2.setcellstyle(style);//="" 百分比="" 同上sheet.addmergedregion(new="" region(0,="" (short)="" (2="" *="" num="" +="" 3),="" 0,(short)="" (2="" *="" num="" +="" 4)));hssfcell="" cellb="row.createCell((short)" (2="" *="" num="" +="" 3));cellb.setencoding(hssfcell.encoding_utf_16);cellb.setcellvalue("百分比");cellb.setcellstyle(style);hssfcell="" cellb1="row2.createCell((short)" (2="" *="" num="" +="" 3));hssfcell="" cellb2="row2.createCell((short)" (2="" *="" num="" +="" 4));cellb1.setencoding(hssfcell.encoding_utf_16);cellb1.setcellvalue("数量");cellb1.setcellstyle(style);cellb2.setencoding(hssfcell.encoding_utf_16);cellb2.setcellvalue("金额");cellb2.setcellstyle(style);fileoutputstream="" fileout="new" fileoutputstream("workbook.xls");wb.write(fileout);fileout.close();system.out.print("ok");}="" catch="" (exception="" ex)="">
三、poi 导出excel 怎么设置合并的单元格自动换行
POI生成excel表格,如何合并单元格 Java代码import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.Region; public class ExcelTest { /** * @param args */ public static void main(String[] args) throws IOException { try { HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("new sheet"); HSSFCellStyle style = wb.createCellStyle(); // 样式对象 style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直 style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 水平 HSSFRow row = sheet.createRow((short) 0); HSSFRow row2 = sheet.createRow((short) 1); sheet.addMergedRegion(new Region(0, (short) 0, 1, (short) 0)); HSSFCell ce = row.createCell((short) 0); ce.setEncoding(HSSFCell.ENCODING_UTF_16);// 中文处理 ce.setCellValue("项目\\日期"); // 表格的第一行第一列显示的数据 ce.setCellStyle(style); // 样式,居中 int num = 0; for (int i = 0; i < 9;="" i++)="" {="" 循环9次,每一次都要跨单元格显示="" 计算从那个单元格跨到那一格="" int="" celln="0;" int="" celle="0;" if="" (i="=" 0)="" {="" celln="0;" celle="1;" }="" else="" {="" celln="(i" *="" 2);="" celle="(i" *="" 2="" +="" 1);="" }="" 单元格合并="" 四个参数分别是:起始行,起始列,结束行,结束列="" sheet.addmergedregion(new="" region(0,="" (short)="" (celln="" +="" 1),="" 0,="" (short)="" (celle="" +="" 1)));="" hssfcell="" cell="row.createCell((short)" (celln="" +="" 1));="" cell.setcellvalue("merging"="" +="" i);="" 跨单元格显示的数据="" cell.setcellstyle(style);="" 样式="" 不跨单元格显示的数据,如:分两行,上一行分别两格为一格,下一行就为两格,“数量”,“金额”="" hssfcell="" cell1="row2.createCell((short)" celle);="" hssfcell="" cell2="row2.createCell((short)" (celle="" +="" 1));="" cell1.setencoding(hssfcell.encoding_utf_16);="" cell1.setcellvalue("数量");="" cell1.setcellstyle(style);="" cell2.setencoding(hssfcell.encoding_utf_16);="" cell2.setcellvalue("金额");="" cell2.setcellstyle(style);="" num++;="" }="" 在后面加上合计百分比="" 合计="" 在最后加上,还要跨一个单元格="" sheet.addmergedregion(new="" region(0,="" (short)="" (2="" *="" num="" +="" 1),="" 0,="" (short)="" (2="" *="" num="" +="" 2)));="" hssfcell="" cell="row.createCell((short)" (2="" *="" num="" +="" 1));="" cell.setencoding(hssfcell.encoding_utf_16);="" cell.setcellvalue("合计");="" cell.setcellstyle(style);="" hssfcell="" cell1="row2.createCell((short)" (2="" *="" num="" +="" 1));="" hssfcell="" cell2="row2.createCell((short)" (2="" *="" num="" +="" 2));="" cell1.setencoding(hssfcell.encoding_utf_16);="" cell1.setcellvalue("数量");="" cell1.setcellstyle(style);="" cell2.setencoding(hssfcell.encoding_utf_16);="" cell2.setcellvalue("金额");="" cell2.setcellstyle(style);="" 百分比="" 同上="" sheet.addmergedregion(new="" region(0,="" (short)="" (2="" *="" num="" +="" 3),="" 0,="" (short)="" (2="" *="" num="" +="" 4)));="" hssfcell="" cellb="row.createCell((short)" (2="" *="" num="" +="" 3));="" cellb.setencoding(hssfcell.encoding_utf_16);="" cellb.setcellvalue("百分比");="" cellb.setcellstyle(style);="" hssfcell="" cellb1="row2.createCell((short)" (2="" *="" num="" +="" 3));="" hssfcell="" cellb2="row2.createCell((short)" (2="" *="" num="" +="" 4));="" cellb1.setencoding(hssfcell.encoding_utf_16);="" cellb1.setcellvalue("数量");="" cellb1.setcellstyle(style);="" cellb2.setencoding(hssfcell.encoding_utf_16);="" cellb2.setcellvalue("金额");="" cellb2.setcellstyle(style);="" fileoutputstream="" fileout="new" fileoutputstream("workbook.xls");="" wb.write(fileout);="" fileout.close();="" system.out.print("ok");="" }="" catch="" (exception="" ex)="" {="" ex.printstacktrace();="" }="" }="">
四、poi生成表格不能自动换行
POI生成excel表格,如何合并单元格 Java代码 import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.Region; public class ExcelTest {/*** @param args*/ public static void main(String[] args) throws IOException { try { HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("new sheet"); HSSFCellStyle style = wb.createCellStyle(); // 样式对象 style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 垂直 style.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 水平 HSSFRow row = sheet.createRow((short) 0); HSSFRow row2 = sheet.createRow((short) 1); sheet.addMergedRegion(new Region(0, (short) 0, 1, (short) 0)); HSSFCell ce = row.createCell((short) 0); ce.setEncoding(HSSFCell.ENCODING_UTF_16);// 中文处理 ce.setCellValue("项目\\日期"); // 表格的第一行第一列显示的数据 ce.setCellStyle(style); // 样式,居中 int num = 0; for (int i = 0; i < 9;="" i++)="" {="" 循环9次,每一次都要跨单元格显示//="" 计算从那个单元格跨到那一格="" int="" celln="0;" int="" celle="0;" if="" (i="=" 0)="" {="" celln="0;" celle="1;" }="" else="" {="" celln="(i" *="" 2);="" celle="(i" *="" 2="" +="" 1);="" }//="" 单元格合并//="" 四个参数分别是:起始行,起始列,结束行,结束列="" sheet.addmergedregion(new="" region(0,="" (short)="" (celln="" +="" 1),="" 0,(short)="" (celle="" +="" 1)));="" hssfcell="" cell="row.createCell((short)" (celln="" +="" 1));="" cell.setcellvalue("merging"="" +="" i);="" 跨单元格显示的数据="" cell.setcellstyle(style);="" 样式//="" 不跨单元格显示的数据,如:分两行,上一行分别两格为一格,下一行就为两格,“数量”,“金额”="" hssfcell="" cell1="row2.createCell((short)" celle);="" hssfcell="" cell2="row2.createCell((short)" (celle="" +="" 1));="" cell1.setencoding(hssfcell.encoding_utf_16);="" cell1.setcellvalue("数量");="" cell1.setcellstyle(style);="" cell2.setencoding(hssfcell.encoding_utf_16);="" cell2.setcellvalue("金额");="" cell2.setcellstyle(style);="" num++;="" }//="" 在后面加上合计百分比//="" 合计="" 在最后加上,还要跨一个单元格="" sheet.addmergedregion(new="" region(0,="" (short)="" (2="" *="" num="" +="" 1),="" 0,(short)="" (2="" *="" num="" +="" 2)));="" hssfcell="" cell="row.createCell((short)" (2="" *="" num="" +="" 1));="" cell.setencoding(hssfcell.encoding_utf_16);="" cell.setcellvalue("合计");="" cell.setcellstyle(style);="" hssfcell="" cell1="row2.createCell((short)" (2="" *="" num="" +="" 1));="" hssfcell="" cell2="row2.createCell((short)" (2="" *="" num="" +="" 2));="" cell1.setencoding(hssfcell.encoding_utf_16);="" cell1.setcellvalue("数量");="" cell1.setcellstyle(style);="" cell2.setencoding(hssfcell.encoding_utf_16);="" cell2.setcellvalue("金额");="" cell2.setcellstyle(style);//="" 百分比="" 同上="" sheet.addmergedregion(new="" region(0,="" (short)="" (2="" *="" num="" +="" 3),="" 0,(short)="" (2="" *="" num="" +="" 4)));="" hssfcell="" cellb="row.createCell((short)" (2="" *="" num="" +="" 3));="" cellb.setencoding(hssfcell.encoding_utf_16);="" cellb.setcellvalue("百分比");="" cellb.setcellstyle(style);="" hssfcell="" cellb1="row2.createCell((short)" (2="" *="" num="" +="" 3));="" hssfcell="" cellb2="row2.createCell((short)" (2="" *="" num="" +="" 4));="" cellb1.setencoding(hssfcell.encoding_utf_16);="" cellb1.setcellvalue("数量");="" cellb1.setcellstyle(style);="" cellb2.setencoding(hssfcell.encoding_utf_16);="" cellb2.setcellvalue("金额");="" cellb2.setcellstyle(style);="" fileoutputstream="" fileout="new" fileoutputstream("workbook.xls");="" wb.write(fileout);="" fileout.close();="" system.out.print("ok");="" }="" catch="" (exception="" ex)="" {="" ex.printstacktrace();="" }="" }="">
转载请注明出处51数据库 » poiword单元格换行