//autoSizeColumn()方法自动调整excel列宽

  1. importjava.io.FileOutputStream;
  2. importorg.apache.poi.hssf.usermodel.HSSFCell;
  3. importorg.apache.poi.hssf.usermodel.HSSFCellStyle;
  4. importorg.apache.poi.hssf.usermodel.HSSFFont;
  5. importorg.apache.poi.hssf.usermodel.HSSFRow;
  6. importorg.apache.poi.hssf.usermodel.HSSFSheet;
  7. importorg.apache.poi.hssf.usermodel.HSSFWorkbook;
  8. importorg.apache.poi.hssf.usermodel.HSSFRichTextString;
  9. importorg.apache.poi.hssf.usermodel.HSSFDataFormat;
  10. importorg.apache.poi.hssf.usermodel.HSSFComment;
  11. importorg.apache.poi.hssf.usermodel.HSSFPatriarch;
  12. importorg.apache.poi.hssf.usermodel.HSSFClientAnchor;
  13.  
  14. publicclassPoiCreateExcelTest {
  15. publicstaticvoidmain(String[] args) {
  16.  
  17. //创建新的Excel 工作簿
  18. HSSFWorkbook workbook =newHSSFWorkbook();
  19.  
  20. //在Excel工作簿中建一工作表,其名为缺省值, 也可以指定Sheet名称
  21. HSSFSheet sheet =workbook.createSheet();
  22. //HSSFSheet sheet = workbook.createSheet("SheetName");
  23.  
  24. //用于格式化单元格的数据
  25. HSSFDataFormat format =workbook.createDataFormat();
  26.  
  27. //创建新行(row),并将单元格(cell)放入其中. 行号从0开始计算.
  28. HSSFRow row =sheet.createRow((short) 1);
  29.  
  30. //设置字体
  31. HSSFFont font =workbook.createFont();
  32. font.setFontHeightInPoints((short) 20); //字体高度
  33. font.setColor(HSSFFont.COLOR_RED); //字体颜色
  34. font.setFontName("黑体"); //字体
  35. font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //宽度
  36. font.setItalic(true); //是否使用斜体
  37. // font.setStrikeout(true); //是否使用划线
  38.  
  39. //设置单元格类型
  40. HSSFCellStyle cellStyle =workbook.createCellStyle();
  41. cellStyle.setFont(font);
  42. cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); //水平布局:居中
  43. cellStyle.setWrapText(true);
  44.  
  45. //添加单元格注释
  46. //创建HSSFPatriarch对象,HSSFPatriarch是所有注释的容器.
  47. HSSFPatriarch patr =sheet.createDrawingPatriarch();
  48. //定义注释的大小和位置,详见文档
  49. HSSFComment comment =patr.createComment(newHSSFClientAnchor(0, 0, 0, 0, (short)4, 2, (short) 6, 5));
  50. //设置注释内容
  51. comment.setString(newHSSFRichTextString("可以在POI中添加注释!"));
  52. //设置注释作者. 当鼠标移动到单元格上是可以在状态栏中看到该内容.
  53. comment.setAuthor("Xuys.");
  54.  
  55. //创建单元格
  56. HSSFCell cell =row.createCell((short) 1);
  57. HSSFRichTextString hssfString =newHSSFRichTextString("Hello World!");
  58. cell.setCellValue(hssfString);//设置单元格内容
  59. cell.setCellStyle(cellStyle);//设置单元格样式
  60. cell.setCellType(HSSFCell.CELL_TYPE_STRING);//指定单元格格式:数值、公式或字符串
  61. cell.setCellComment(comment);//添加注释
  62.  
  63. //格式化数据
  64. row =sheet.createRow((short) 2);
  65. cell =row.createCell((short) 2);
  66. cell.setCellValue(11111.25);
  67. cellStyle =workbook.createCellStyle();
  68. cellStyle.setDataFormat(format.getFormat("0.0"));
  69. cell.setCellStyle(cellStyle);
  70.  
  71. row =sheet.createRow((short) 3);
  72. cell =row.createCell((short) 3);
  73. cell.setCellValue(9736279.073);
  74. cellStyle =workbook.createCellStyle();
  75. cellStyle.setDataFormat(format.getFormat("#,##0.0000"));
  76. cell.setCellStyle(cellStyle);
  77.  
  78. sheet.autoSizeColumn((short)0); //调整第一列宽度
  79. sheet.autoSizeColumn((short)1); //调整第二列宽度
  80. sheet.autoSizeColumn((short)2); //调整第三列宽度
  81. sheet.autoSizeColumn((short)3); //调整第四列宽度
  82.  
  83. try{
  84. FileOutputStream fileOut =newFileOutputStream("C:\3.xls");
  85. workbook.write(fileOut);
  86. fileOut.close();
  87. }catch(Exception e) {
  88. System.out.println(e.toString());
  89. }
  90. }
  91.  
  92. }

  

使用POI生成Excel文件,可以自动调整excel列宽的更多相关文章

  1. Java使用jxl.jar包写Excel文件的最适合列宽问题基本实现

    以前用jxl.jar包,读写过Excel文件.也没有注意最适合列宽的问题,但是jxl.jar没有提供最适合列宽的功能,上次用到写了一下,可以基本实现最适合列宽. 注意,这个只是基本可以实现,基本针对中 ...

  2. JXL包大解析;Java程序生成excel文件和解析excel文件内容

    最近需求变化,需要把excel导入 我以前没有做过,所以我查了一些资料 和参考别人的代码 以下是多种方式: import java.io.File; import java.io.FileInputS ...

  3. Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类

    Java 通过Xml导出Excel文件,Java Excel 导出工具类,Java导出Excel工具类 ============================== ©Copyright 蕃薯耀 20 ...

  4. Python遍历一个文件夹下有几个Excel文件及每个Excel文件有几个Sheet

    一. 解决问题: 工作中常会遇到合并Excel文件的需求,Excel文件数量不确定,里面的Sheet 数量是可变的,Sheet Name是可变的,所以,需要用到遍历一个文件夹下有几个Excel文件,判 ...

  5. JAVA中使用freemark生成自定义文件(json、excel、yaml、txt)

    原文:http://blog.csdn.net/jinzhencs/article/details/51461776 场景:在我们工作中,有时需要生成一些文件,可能它不是一种标准的格式,比如JSON. ...

  6. poi生成word文件

    一.简介 对于poi来说,poi可以完成对word.excel.ppt的处理.word目前有两种文件格式,一种是doc后缀.另一种是docx后缀的.2007之前的版本都是doc后缀的,这种格式poi使 ...

  7. Java使用POI为Excel打水印,调整列宽并设置Excel只读(用户不可编辑)

    本文介绍在Java语言环境下,使用POI为Excel打水印的解决方案,具体的代码编写以及相关的注意事项. 需求描述: 要求通过系统下载的Excel都带上公司的水印,列宽调整为合适的宽度,并且设置为不可 ...

  8. POI精确设置Excel的行高和列宽

    EXCEL的行高度和列宽度单位是不一样的. 1,EXCEL列高度的单位是磅,Apache POI的行高度单位是缇(twip): 1英寸=72磅=25.4毫米=1440缇1磅=0.353毫米=20缇 P ...

  9. 批处理快速合并多分Excel文件并将指定列的数据去重复

    1.批处理快速合并多个excel文件方法: 新建一个.txt文本文件,就命名为合并.txt吧. 而后开启文件,复制以下代码到文件中: @echo off E: cd xls dir copy *.cs ...

  10. php读取excel文件 更新修改excel

    php读取excel文件示例,还有更新修改功能. 代码: //模板存放目录 $dir = $DOCUMENT_ROOT.'/backoffice/admin/oemcheck/'; $template ...

随机推荐

  1. mysql解决中文乱码问题

    安装文件 my.ini default-character-set=gbk 安装文件 db.opt default-character-set=gbkdefault-collation=gbk_chi ...

  2. shell初学

    超简单的一段shell代码,查看电脑属性,删除无效安装包,查看天气.FYI  #!/bin/bash echo -e '\n' echo "Hello,`whoami`" echo ...

  3. 3、Data对象

    1.创建part1.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...

  4. 获取table表格的一些不为人知的属性

    JS获取表格的简便方法:获取tbody:tBodies   获取thead:tHead   获取tfoot:tFoot   获取行tr:rows   获取列td:cells 使用实例: oTable. ...

  5. 使用InternetReadFile时要注意读取完整数据

    使用这个api读取数据后,即使数据不完整,该函数不会报任何错,GetLastError也显示操作成功.使用时要注意通过其参数判断是否读取完毕 void InternetReadFileEx(HINTE ...

  6. jQuery 属性操作 - attr() 方法

    定义和用法 attr() 方法设置或返回被选元素的属性值. 根据该方法不同的参数,其工作方式也有所差异. 实例1 设置被选元素的属性和值. <html><head><sc ...

  7. Openjudge-计算概论(A)-完美立方

    描述: a的立方 = b的立方 + c的立方 + d的立方为完美立方等式.例如12的立方 = 6的立方 + 8的立方 + 10的立方 .编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组 ...

  8. mysql高级查询

    高级查询: 1.连接查询 select * from Info,Nation #得出的结果称为笛卡尔积select * from Info,Nation where Info.Nation = Nat ...

  9. ios系统下的QQ浏览器jquert的BUG

    $(document).bind("click", function(e){ var $t = $(e.target); alert(333); if($t.is("p& ...

  10. 3g 上网卡使用

    控制面板\网络和 Internet\网络连接每个USB孔都会分配网路名 --cisco vpn 连接问题解决 启动(以管理员身份运行) sc stop SharedAccess ---完美解决win7 ...