设置下划线找了好久。最后找了POI,英语不好啊。。。有试了好几次才明白。。。。。中国人努力,把技术文档都变成中文。。。。让外国人也体验下咱中文的博大精深。。

这是我项目中想要的结果,不过下面我给了个自己写的能单独运行成功的小例子,不懂的可以试试。当然,可以联系我。。。

相关代码:

boolean result=false;// 第一步,创建一个webbook,对应一个Excel文件HSSFWorkbook wb = new HSSFWorkbook();// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheetHSSFSheet sheet = wb.createSheet("sheet1");// 设置字体HSSFFont headfont = wb.createFont();headfont.setFontName("宋体");headfont.setFontHeightInPoints((short) 20);// 字体大小headfont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 加粗HSSFFont font1 = wb.createFont();font1.setFontName("宋体");font1.setFontHeightInPoints((short) 12);// 字体大小HSSFFont font3 = wb.createFont();font3.setFontName("宋体");font3.setFontHeightInPoints((short) 12);font3.setColor(HSSFFont.COLOR_RED);font3.setUnderline((byte)1);//表头样式HSSFCellStyle headstyle = wb.createCellStyle();headstyle.setFont(headfont);headstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中headstyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中headstyle.setLocked(true);headstyle.setWrapText(true);// 自动换行//正文样式HSSFCellStyle style = wb.createCellStyle();style.setFont(font1);HSSFCellStyle style2 = wb.createCellStyle();style2.setFont(font1);style2.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式style2.setBorderBottom(HSSFCellStyle.BORDER_THIN);//下边框     style2.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框     style2.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框     style2.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short//创建第0行,添加查询条件sheet.setColumnWidth(0,1000*5);sheet.setColumnWidth(1,1000*5);sheet.setColumnWidth(2,1000*5);sheet.setColumnWidth(3,1000*5);sheet.setColumnWidth(4,1000*5);sheet.setColumnWidth(5,1000*5);sheet.setColumnWidth(6,1000*5);sheet.setColumnWidth(7,1000*5);HSSFRow row = sheet.createRow((int) 0);// 第四步,创建单元格,并设置值表头 设置表头居中List<SssbtzdBean> list1= getSssbtzdById(id);SssbtzdBean bean=list1.get(0);List<SssbtzdmxBean> list=sssbtzdDao.getSssbtzdmxById(bean.getId());row.setHeightInPoints((float)29.25);HSSFCell head=row.createCell((int)0);head.setCellValue(new HSSFRichTextString("伤损设备通知单("+bean.getId()+")"));head.setCellStyle(headstyle);/*** 合并单元格*    第一个参数:第一个单元格的行数(从0开始)*    第二个参数:第二个单元格的行数(从0开始)*    第三个参数:第一个单元格的列数(从0开始)*    第四个参数:第二个单元格的列数(从0开始)*/sheet.addMergedRegion(new CellRangeAddress(0,0,0,7));row = sheet.createRow((int) 1);//设置下划线代码部分row.setHeightInPoints((float)21);HSSFCell cell = row.createCell((int) 0);String string="班组 "+bean.getBz()+"   仪器串号  "+bean.getYqch()+"   发现人 "+bean.getFxr()+"   复核人 "+bean.getFhr()+".";HSSFRichTextString richtext = new HSSFRichTextString(string);richtext.applyFont(0, string.length(), font1);int start="班组 ".length();int end=start+bean.getBz().length();richtext.applyFont(start, end, font3);start=end+"   仪器串号  ".length();end=start+bean.getYqch().length();richtext.applyFont(start, end, font3);start=end+"   发现人 ".length();end=start+bean.getFxr().length();richtext.applyFont(start, end, font3);start=end+"   复核人 ".length();end=start+bean.getFhr().length();richtext.applyFont(start, end, font3);cell.setCellValue(richtext);cell.setCellStyle(style);sheet.addMergedRegion(new CellRangeAddress(1,1,0,7));row = sheet.createRow((int) 2);row.setHeightInPoints((float)19.5);cell = row.createCell((int) 0);string="线别  "+bean.getXb()+"              通知     "+bean.getTzxlcj()+bean.getTzgq();richtext=new HSSFRichTextString(string);richtext.applyFont(0, string.length(), font1);start="线别  ".length();end=start+bean.getXb().length();richtext.applyFont(start, end, font3);start=end+"              通知     ".length();end=start+bean.getTzxlcj().length()+bean.getTzgq().length();richtext.applyFont(start, end, font3);cell.setCellValue(richtext);cell.setCellStyle(style);sheet.addMergedRegion(new CellRangeAddress(2,2,0,7));

这是我自己写的小例子,导入个HSSF的jar就能运行

package outExcle;import java.io.FileOutputStream;
import java.util.List;import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
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.ss.usermodel.RichTextString;
import org.apache.poi.ss.util.CellRangeAddress;public class Outxls {/*** 导出伤损设备通知单* @param id* @return*/public static String  outExcleSssbtzd (){boolean result=false;// 第一步,创建一个webbook,对应一个Excel文件HSSFWorkbook wb = new HSSFWorkbook();// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheetHSSFSheet sheet = wb.createSheet("sheet1");// 设置字体HSSFFont headfont = wb.createFont();headfont.setFontName("宋体");headfont.setFontHeightInPoints((short) 20);// 字体大小headfont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 加粗HSSFFont font1 = wb.createFont();font1.setFontName("宋体");font1.setFontHeightInPoints((short) 12);// 字体大小HSSFFont font3 = wb.createFont();font3.setFontName("宋体");font3.setFontHeightInPoints((short) 12);font3.setColor(HSSFFont.COLOR_RED);font3.setUnderline((byte)1);//表头样式HSSFCellStyle headstyle = wb.createCellStyle();headstyle.setFont(headfont);headstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);// 左右居中headstyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);// 上下居中headstyle.setLocked(true);headstyle.setWrapText(true);// 自动换行//正文样式HSSFCellStyle style = wb.createCellStyle();style.setFont(font1);HSSFCellStyle style2 = wb.createCellStyle();style2.setFont(font1);style2.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式style2.setBorderBottom(HSSFCellStyle.BORDER_THIN);//下边框     style2.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框     style2.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框     style2.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short//创建第0行,添加查询条件sheet.setColumnWidth(0,1000*5);、//设置宽度sheet.setColumnWidth(1,1000*5);sheet.setColumnWidth(2,1000*5);sheet.setColumnWidth(3,1000*5);sheet.setColumnWidth(4,1000*5);sheet.setColumnWidth(5,1000*5);sheet.setColumnWidth(6,1000*5);sheet.setColumnWidth(7,1000*5);HSSFRow row = sheet.createRow((int) 0);// 第四步,创建单元格,并设置值表头 设置表头居中row.setHeightInPoints((float)29.25);HSSFCell head=row.createCell((int)0);head.setCellValue(new HSSFRichTextString("设置下划线"));head.setCellStyle(headstyle);/*** 合并单元格*    第一个参数:第一个单元格的行数(从0开始)*    第二个参数:第二个单元格的行数(从0开始)*    第三个参数:第一个单元格的列数(从0开始)*    第四个参数:第二个单元格的列数(从0开始)*/sheet.addMergedRegion(new CellRangeAddress(0,0,0,7));row = sheet.createRow((int) 1);row.setHeightInPoints((float)21);HSSFCell cell = row.createCell((int) 0);String string="内容1:"+"下划线1"+"内容2:"+"下划线2";HSSFRichTextString richtext = new HSSFRichTextString(string);richtext.applyFont(0, string.length(), font1);//设置统一格式int start="内容1:".length();int end=start+"下划线1".length();richtext.applyFont(start, end, font3);//设置“下划线”格式start=end+"内容2:".length();end=start+"下划线2".length();richtext.applyFont(start, end, font3);cell.setCellValue(richtext);sheet.addMergedRegion(new CellRangeAddress(1,1,0,7));//合并单元格// 第六步,将文件存到指定位置try{String path;path = ("C:/temp/伤损设备通知单.xls");FileOutputStream fout = new FileOutputStream(path);wb.write(fout);fout.close();result=true;}catch (Exception e){e.printStackTrace();}if(result) return "成功";return "失败";}public static void main (String[] args){System.out.println("导出C:/temp/伤损设备通知单.xls------"+outExcleSssbtzd());    }
}

注:

1.我的例子放在了百度网盘,jar当然也在里面。。。http://pan.baidu.com/s/1IpXS

HSSF 字体下划线相关推荐

  1. php文字下划线,css如何设置字体下划线

    css设置字体下划线的方法:可以利用text-decoration属性来进行设置,如[text-decoration: underline;].text-decoration属性用于规定添加到文本的修 ...

  2. html字体下划线下移,CSS下划线与文字间距距离设置(CSS文字下划线距离设置)

    CSS设置下划线与文字间距距离(CSS文字下划线距离设置) css下划线与文字上下距离设置,文字字体下划线样式技巧篇,如何改变文字与下划线距离间距?这里CSS5为大家介绍通过下边框border-bot ...

  3. php去下划线,html怎么去除字体下划线?去除字体下划线方法

    怎样去除字体下划线?去除字体下划线有哪些方法?对于很多刚刚入门的新手来说,不太清楚html怎么去除字体下划线?下面我们来总结一下. 一:超链接去除字体下划线 很多前端编辑者,在给文字加上链接的的时候, ...

  4. php语言字体下划线,css中怎么设置字体下划线

    css中设置字体下划线的方法:1.使用"text-decoration:underline;"设置下划线样式:2.通过"border-bottom"属性设置下划 ...

  5. css中字体下划线样式,css下划线 浅谈css自定义下划线

    使用css样式对一段文字或一段文字中其中几个文字设置虚线效果的下划线如何实现?我们知道css字体下划线使用text-decoration样式实现,而虚线下划线则不能使用此css样式属性.要实现通过下边 ...

  6. css选择器下划线设置,css中怎么设置字体下划线

    css中设置字体下划线的方法:1.使用"text-decoration:underline;"设置下划线样式:2.通过"border-bottom"属性设置下划 ...

  7. CSS改变字体下划线颜色

    下图是网页中一个很普通的列表. 这次去见客户的时候,客户觉得下划线的颜色可以变变,网页就变得不单调了(据后来了解,客户上学时出板报,所以对网站的布局和细节非常的重视).做网站那么久,第一次要换下划线颜 ...

  8. EasyExcel 设置字体样式(字体、字体大小、字体颜色、字体加粗、字体斜体、字体下划线、字体上标下标、字体删除线)

    1 Maven配置 <!--hutool工具包--><dependency><groupId>cn.hutool</groupId><artifa ...

  9. Latex---局部调大字体--下划线--首行缩进--悬挂缩进

    1 调整字体大小 \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge 2 下划线 \ ...

最新文章

  1. 2020牛客多校G[并查集的两种思想,按秩合并+路径压缩]
  2. tensorflow学习(3.tensorboard的使用)
  3. 不显示表头_技术干货 | 基于数模混合型SoC实现的两线制高精度无源表头方案
  4. MySQL安装与java配合
  5. 气象要素空间插值分析
  6. android沉浸式状态栏封装—教你玩出新花样
  7. HBase权威指南【中文版】
  8. win10用什么软件测试xone手柄,win10系统连接xbox手柄的操作方法
  9. Win10修改有线网卡的MAC地址
  10. SQL中数据类型转换
  11. 计算机开始菜的mstsc命令,Win10一周年更新版系统CLSID(GUID)汇总
  12. redis --- List类型使用
  13. 解决NVIDIA GeForce系列显卡NVENC并发Session数目限制问题
  14. php图片文字水印透明度,php图片水印 可以设置透明度
  15. 索尼克通信支付宝、超声波、蟋蟀和其他定制版本源代码
  16. tomcat配置SSI
  17. C语言编程答案保留三位小数,如何用c语言求倒数,保留3位有效数字
  18. 浙江省 教师资格证 岗前培训考试 浙江高培中心报名系统
  19. Java实现将本地.html文件以.docx文件格式导出并添加水印
  20. 如何才能让一个B2C企业销售额高速成长呢?

热门文章

  1. 更换elasticsearch数据存储目录
  2. 计算机逻辑算法,算法逻辑
  3. 每天一个小技巧之Mac强制退出应用程序
  4. 万达商业再递招股书:上半年派息35亿 腾讯与碧桂园是股东
  5. ZZULIOJ 1180-1198结构体专题 参考代码
  6. 思岚科技邀你2017日本东京国际机器人展
  7. 云服务器的主要性能参数,云服务器参数到配置,一文让您从小白到高手
  8. 防老人走失新方法:衣服上缝二维码 走失可扫码回家
  9. c罩杯尺码_教你三步正确测量内衣尺码!
  10. 26.JavaScript对象和基础类型之间的转换、hint、Symbol.toPrimitive、toString、valueOf