精华内容
下载资源
问答
  • 设置单元格风格的属性和设置字体风格的属性的两个工具类,POI宽度和excel 像素转换 /** * 功能:设置单元格风格的属性 * */ public static HSSFCellStyle SetCellStyleAttribute(int stylenum, ...

    设置单元格风格的属性和设置字体风格的属性的两个工具类,POI宽度和excel 像素转换

    /**
    	 * 功能:设置单元格风格的属性
    	 * */
    	public static HSSFCellStyle SetCellStyleAttribute(int stylenum,
    			HSSFCellStyle style, HSSFFont font) {
    
    		switch (stylenum) {
    
    		// 单元格格式一:水平居中,垂直居中
    		case 1:
    			style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
    			style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
    			style.setFont(font);
    
    			break;
    		// 单元格格式二:水平居中,垂直居中,有边框
    		case 2:
    			style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
    			style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
    			style.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 下边框
    			style.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框
    			style.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框
    			style.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框
    			style.setFont(font);
    
    			break;
    		// 单元格格式三:垂直居中
    		case 3:
    			style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
    			style.setFont(font);
    
    			break;
    
    		default:
    			break;
    		}
    
    		return style;
    
    	}
    
    	/**
    	 * 设置字体风格的属性
    	 * */
    	public static void setFontStyleAttribute(int fontnum, HSSFFont font) {
    
    		font.setColor(HSSFColor.BLACK.index);
    
    		switch (fontnum) {
    		case 1:// 字体风格:微软雅黑,12号字体,黑色,加粗
    			font.setFontName("微软雅黑");
    			font.setFontHeightInPoints((short) 12);
    			font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
    			break;
    
    		case 2:// 字体风格:微软雅黑,10号字体,黑色
    			font.setFontName("微软雅黑");
    			font.setFontHeightInPoints((short) 10);
    
    			break;
    
    		case 3:// 字体风格:微软雅黑,9号字体,黑色
    			font.setFontName("微软雅黑");
    			font.setFontHeightInPoints((short) 9);
    
    			break;
    
    		case 4:// 字体风格:宋体,12号字体,黑色,加粗
    			font.setFontName("宋体");
    			font.setFontHeightInPoints((short) 12);
    			font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
    			break;
    
    		case 5:// 字体风格:宋体,10号字体,黑色
    			font.setFontName("宋体");
    			font.setFontHeightInPoints((short) 10);
    			break;
    
    		case 6:// 字体风格:宋体,9号字体,黑色
    			font.setFontName("宋体");
    			font.setFontHeightInPoints((short) 9);
    			break;
    
    		default:
    			break;
    		}
    
    	}
    
    	public static int getPOIWidthByExcelPiex(int Piex) {
    
    		return (int) (Piex * 37.04);
    
    	}
    /**
    	 * 功能:设置2007以及以上版本单元格风格的属性
    	 * */
    	public static CellStyle SetXCellStyleAttribute(int stylenum,
    			CellStyle style, Font font) {
    
    		switch (stylenum) {
    
    		// 单元格格式一:水平居中,垂直居中
    		case 1:
    			style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
    			style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
    			style.setFont(font);
    
    			break;
    		// 单元格格式二:水平居中,垂直居中,有边框
    		case 2:
    			style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
    			style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
    			style.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 下边框
    			style.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框
    			style.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框
    			style.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框
    			style.setFont(font);
    
    			break;
    		// 单元格格式三:垂直居中
    		case 3:
    			style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
    			style.setFont(font);
    
    			break;
    
    		default:
    			break;
    		}
    
    		return style;
    
    	}
    /**
    	 * 设置2007以及以上版本字体风格的属性
    	 * */
    	public static void setXFontStyleAttribute(int fontnum, Font font) {
    
    		font.setColor(HSSFColor.BLACK.index);
    
    		switch (fontnum) {
    		case 1:// 字体风格:微软雅黑,12号字体,黑色,加粗
    			font.setFontName("微软雅黑");
    			font.setFontHeightInPoints((short) 12);
    			font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
    			break;
    
    		case 2:// 字体风格:微软雅黑,10号字体,黑色
    			font.setFontName("微软雅黑");
    			font.setFontHeightInPoints((short) 10);
    
    			break;
    
    		case 3:// 字体风格:微软雅黑,9号字体,黑色
    			font.setFontName("微软雅黑");
    			font.setFontHeightInPoints((short) 9);
    
    			break;
    
    		case 4:// 字体风格:宋体,12号字体,黑色,加粗
    			font.setFontName("宋体");
    			font.setFontHeightInPoints((short) 12);
    			font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
    			break;
    
    		case 5:// 字体风格:宋体,10号字体,黑色
    			font.setFontName("宋体");
    			font.setFontHeightInPoints((short) 10);
    			break;
    
    		case 6:// 字体风格:宋体,9号字体,黑色
    			font.setFontName("宋体");
    			font.setFontHeightInPoints((short) 9);
    			break;
    
    		default:
    			break;
    		}
    
    	}



    展开全文
  • poi 操作word里表格,如设置表格宽度、行高、表格样式等。 1.表格或单元格宽度: 默认TblW的type属性为STTblWidth.AUTO,即自动伸缩。所以要调整为指定类型:STTblWidth.DXA 1)表格宽: CTTblPr tblPr = xtab2....

    poi 操作word里表格,如设置表格宽度、行高、表格样式等。

    1.表格或单元格宽度:

    默认TblW的type属性为STTblWidth.AUTO,即自动伸缩。所以要调整为指定类型:STTblWidth.DXA 1)表格宽:

    CTTblPr tblPr = xtab2.getCTTbl().getTblPr();

    tblPr.getTblW().setType(STTblWidth.DXA);

    tblPr.getTblW().setW(new BigInteger("7000"));

    单元格宽:

    CTTcPr tcpr = cell.getCTTc().addNewTcPr();

    CTTblWidth cellw = tcpr.addNewTcW();

    cellw.setType(STTblWidth.DXA);

    cellw.setW(BigInteger.valueOf(360*5));

    2.表格风格

    注:如果不设置风格,将采用默认的Normal风格

    CTTblPr tblPr = xtab2.getCTTbl().getTblPr();

    CTString styleStr = tblPr.addNewTblStyle();

    styleStr.setVal("StyledTable");

    3.表格行高:获取表格行的CTTrPr.增加CTHeight属性

    List rows = xtab2.getRows();

    for (XWPFTableRow row : rows) {

    CTTrPr trPr = row.getCtRow().addNewTrPr();

    CTHeight ht = trPr.addNewTrHeight();

    ht.setVal(BigInteger.valueOf(360));

    ......

    }

    表格行内容垂直居中:

    CTVerticalJc va = tcpr.addNewVAlign();

    va.setVal(STVerticalJc.CENTER);

    4.表格单元格颜色

    例如下面的标题行与奇偶行颜色设置

    CTShd ctshd = tcpr.addNewShd();

    ctshd.setColor("auto");

    ctshd.setVal(STShd.CLEAR);

    if (rowCt == 0) {

    // 标题行

    ctshd.setFill("A7BFDE");

    }

    else if (rowCt % 2 == 0) {

    // even row

    ctshd.setFill("D3DFEE");

    }

    else {

    // odd row

    ctshd.setFill("EDF2F8");

    }

    5.获取某指定位置对象并生成新的光标位置

    注:这个更新或插入操作比较有用,比如更新文档目录.

    XmlCursor cursor = doc.getDocument().getBody().getPArray(0).newCursor();

    XWPFParagraph cP = doc.insertNewParagraph(cursor);

    6.插入图片:

    XWPFParagraph parapictest = document.createParagraph();

    XWPFRun runtest = parapictest.createRun();

    runtest.setText("图片:");

    XWPFRun pictest = document.createParagraph().createRun();

    XWPFPicture picture = pictest.addPicture(new FileInputStream("D://563.jpg"), Document.PICTURE_T YPE_JPEG, "D://563.jpg", 1000*360*10,1000*360*10);

    展开全文
  • Apache POI 设置宽度和行高

    万次阅读 2015-01-19 18:29:39
    FileOutputStream fos = new FileOutputStream("D:\\15.xls"); HSSFWorkbook wb = new HSSFWorkbook(); /** * ====================================================... * 设置cell宽度 * 通过sh
                    FileOutputStream fos = new FileOutputStream("D:\\15.xls");
    
    		HSSFWorkbook wb = new HSSFWorkbook();
    
    		/**
    		 * ========================================================
    		 * 							设置cell宽度
    		 *  通过sheet 对象,setColumnWidth设置cell的宽度
    		 * ========================================================
    		 */
    		HSSFSheet sheet = wb.createSheet("sheet1");
    		// api 段信息 Set the width (in units of 1/256th of a character width)
    		sheet.setColumnWidth(0, 20 * 256);
    
    		/**
    		 * ========================================================
    		 * 							设置行高度
    		 *  通过row 对象设置行高
    		 * ========================================================
    		 */
    		HSSFRow row = sheet.createRow(0);
    		//heightInPoints 设置的值永远是height属性值的20倍
    		row.setHeightInPoints(20);
    
    		HSSFRow row1 = sheet.createRow(5);
    		// Set the row's height or set to ff (-1) for undefined/default-height.
    		// Set the height in "twips" or
    		// 1/20th of a point.
    		row1.setHeight((short) (25 * 20));
    		
    		HSSFCell cell = row.createCell(0);
    
    		cell.setCellValue("a1b2c3d4e5f6g7h8i9");
    
    		//设置默认宽度、高度值		
    		HSSFSheet sheet2 =  wb.createSheet("sheet2");
    				
    		sheet2.setDefaultColumnWidth(20);
    		sheet2.setDefaultRowHeightInPoints(20);
    
                    //格式化单元格日期信息
    		HSSFDataFormat dataFormat =  wb.createDataFormat();
    		short dataformat = dataFormat.getFormat("yyyy-mm-dd HH:MM");
    		HSSFCellStyle style = wb.createCellStyle();
    		
    		
    		style.setDataFormat(dataformat);
    		
    		
    		HSSFCell cell2 = sheet2.createRow(0).createCell(0);
    		
    		cell2.setCellValue(new Date());
    		
    		cell2.setCellStyle(style);
    		
    		wb.write(fos);
    
    		fos.close();


    转载自:http://blog.csdn.net/hehexiaoyou/article/details/37873043

    展开全文
  • POI设置cell宽度

    千次阅读 2019-10-09 07:45:37
    sheet.setColumnWidth(i, (int)(title.getBytes().length * 1.2d * 256 > 12 * 256 ? title.getBytes().length ...//256为单个字符所占的宽度 //1.2d表示比实际宽度大20% //12*256表示最低宽度为12个字符 转载...

    sheet.setColumnWidth(i, (int)(title.getBytes().length * 1.2d * 256 > 12 * 256 ? title.getBytes().length * 1.2d * 256 : 12 * 256));

    //256为单个字符所占的宽度

    //1.2d表示比实际宽度大20%

    //12*256表示最低宽度为12个字符

    转载于:https://www.cnblogs.com/CR1me/p/9874983.html

    展开全文
  • poi自动调整宽度

    千次阅读 2017-09-18 19:49:47
    I was also running into this issue and this was my solution. ...https://stackoverflow.com/questions/4611018/apache-poi-excel-how-to-configure-columns-to-be-expanded
  • poi导出列宽自适应宽度 for(int i=0;i<list.size();i++){ sheet.autoSizeColumn(i); sheet.setColumnWidth(i,sheet.getColumnWidth(i)*17/10); }
  • poi宽度自适应

    千次阅读 2009-08-06 10:33:00
    先设置单元格字体类型 和字体大小 HSSFFont hfont = workbook.createFont(); hfont.setFontName("MS Pゴシック"); hfont.setFontHeightInPoints((short)10);然后使用 hssfsheet.autoSizeColu
  • excel poi 设置列宽度

    万次阅读 2016-09-26 17:12:06
    sheet 要对每一列设置 宽度   HSSFSheet.setColumnWidth(i,value.toString().length() * 512);   不过要取每一列中,value的最大值乘一个系数。     汉字是512,数字是256.     简单的话 可以设置...
  • 精准计算Excel POI自动列宽度
  • POI Excel 中文自适用宽度 //poi设置自适应列宽 private void setColumnWidth(Sheet sheet) { //sheet的索引从0开始,获取sheet列数 int maxColumn = sheet.getRow(0).getPhysicalNumberOfCells(); for (int ...
  • POI设置单元格的宽度和高度

    千次阅读 2019-01-21 16:57:34
    POI 1.2教程 - 2.2.7 设置单元格的宽度和高度 博客分类: Java学习 POI     NPOI 1.2教程 - 2.2.7 设置单元格的宽度和高度 作者:Tony Qu NPOI官方网站:http://npoi.codeplex.com/   在Excel中,...
  • java poi自适应宽度(中文支持 HSSFSheet 和sheet的) 1.HSSFSheet 的 /** * 自适应列宽 * @param sheet * @param columnLength 列数 */ private static void setSizeColumn(HSSFSheet sheet, int columnLength...
  • //将POI宽度转换为Excel的宽度 如果是px:像素 1.Float.parseFloat(value) 2.Float.parseFloat(value) * 37F 3.Math.round(Float.parseFloat(value) * 37F) 4. int v=0;//初始化值 v = Math.round(Float....
  • java excel 导出 中文自适应宽度poi 使用sheet这个方法 亲测有效 t为标题内容 0+i是标题的位置 sheet.setColumnWidth(0 + i, t.getBytes().length * 2 * 256);
  • import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Font; import javax.servlet.http.HttpServletResponse; import java.io.File; imp.
  • [code="java"]sheet.autoSizeColumn(( short ) 0 ); [/code]
  • Java POI的自适应列宽度

    千次阅读 2019-07-04 11:15:23
    原文链接:... 原文作者:dragon9a 在原文的基础上做了一点点的调整。 自动调整列宽度的方法: int maxColumn = sheet.getRow(0).getPhysicalNumberOfCells(); for(int i = 0; i < maxCo...
  • POI cell的宽度自适应

    千次阅读 2018-05-05 15:15:00
    这两种方式都是自适应列宽度,但是注意这个方法在后边的版本才提供,poi的版本不要太老。 注意:第一个方法在合并单元格的的单元格并不好使,必须用第二个方法。 sheet.setColumnWidth(m, “列名”.getBytes()....
  • Java POI 设置Excel单元格的宽度和高度

    万次阅读 2017-05-16 17:55:03
    来源:...在Excel中,单元格的宽度其实就是列的宽度,因为Excel假设这一列的单元格的宽度肯定一致。所以要设置单
  • POI设置单元格自适应宽度

    万次阅读 2018-09-26 15:48:59
    //设置自动列宽  sheet.trackAllColumnsForAutoSizing();  for (int i = 0; i &lt; headColNames.length; i++) {  sheet.autoSizeColumn(i);  sheet.setColumnWidth(i, sheet.getColu...
  • poi导出excel设置宽度

    千次阅读 2016-05-18 16:37:17
    sheet.autoSizeColumn((short)3); //调整第四列宽度  sheet.setDefaultColumnWidth(200); sheet.setColumnWidth(2, 15000); sheet.setColumnWidth(4, 20000);  Message message = PhaseInterceptorC
  • J2SE - POI设置单元格的宽度和高度

    千次阅读 2020-10-14 10:21:31
    单元格的宽度 即 列的宽度;方法来自 Sheet 接口 * @param columnIndex 列的索引;值从 0 开始 * @param width 宽度值;单位是 1/256 个字符宽度,即值建议设置为256的倍数 */ public void setColumnWidth...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,194
精华内容 2,877
关键字:

poi宽度