加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

使用POI生成Excel文件,可以自动调整excel列宽等 .

(2012-11-27 23:01:07)
标签:

杂谈

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

http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif." />importjava.io.FileOutputStream;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif." />
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif." />
importorg.apache.poi.hssf.usermodel.HSSFCell;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif." />
importorg.apache.poi.hssf.usermodel.HSSFCellStyle;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif." />
importorg.apache.poi.hssf.usermodel.HSSFFont;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif." />
importorg.apache.poi.hssf.usermodel.HSSFRow;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif." />
importorg.apache.poi.hssf.usermodel.HSSFSheet;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif." />
importorg.apache.poi.hssf.usermodel.HSSFWorkbook;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif." />
importorg.apache.poi.hssf.usermodel.HSSFRichTextString;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif." />
importorg.apache.poi.hssf.usermodel.HSSFDataFormat;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif." />
importorg.apache.poi.hssf.usermodel.HSSFComment;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif." />
importorg.apache.poi.hssf.usermodel.HSSFPatriarch;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif." />
importorg.apache.poi.hssf.usermodel.HSSFClientAnchor;
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif." />
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif." />
publicclassPoiCreateExcelTest {
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif." />     
publicstaticvoidmain(String[] args) {
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif." />         
        
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
//创建新的Excel 工作簿
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         HSSFWorkbook workbook =newHSSFWorkbook();
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
//在Excel工作簿中建一工作表,其名为缺省值, 也可以指定Sheet名称
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         HSSFSheet sheet =workbook.createSheet();
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
//HSSFSheet sheet = workbook.createSheet("SheetName");
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
//用于格式化单元格的数据
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         HSSFDataFormat format =workbook.createDataFormat();
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
//创建新行(row),并将单元格(cell)放入其中. 行号从0开始计算.
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         HSSFRow row =sheet.createRow((short) 1);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
//设置字体
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         HSSFFont font =workbook.createFont();
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          font.setFontHeightInPoints((
short) 20); //字体高度
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         font.setColor(HSSFFont.COLOR_RED); //字体颜色
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         font.setFontName("黑体"); //字体
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); //宽度
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         font.setItalic(true); //是否使用斜体
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
//         font.setStrikeout(true); //是否使用划线
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
//设置单元格类型
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         HSSFCellStyle cellStyle =workbook.createCellStyle();
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          cellStyle.setFont(font);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//水平布局:居中
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         cellStyle.setWrapText(true);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
//添加单元格注释
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
//创建HSSFPatriarch对象,HSSFPatriarch是所有注释的容器.
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         HSSFPatriarch patr =sheet.createDrawingPatriarch();
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
//定义注释的大小和位置,详见文档
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         HSSFComment comment =patr.createComment(newHSSFClientAnchor(0, 0, 0, 0, (short)4, 2, (short) 6, 5));
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
//设置注释内容
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         comment.setString(newHSSFRichTextString("可以在POI中添加注释!"));
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
//设置注释作者. 当鼠标移动到单元格上是可以在状态栏中看到该内容.
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         comment.setAuthor("Xuys.");
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
//创建单元格
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         HSSFCell cell =row.createCell((short) 1);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          HSSFRichTextString hssfString
=newHSSFRichTextString("Hello World!");
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          cell.setCellValue(hssfString);
//设置单元格内容
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         cell.setCellStyle(cellStyle);//设置单元格样式
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         cell.setCellType(HSSFCell.CELL_TYPE_STRING);//指定单元格格式:数值、公式或字符串
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         cell.setCellComment(comment);//添加注释
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
//格式化数据
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         row =sheet.createRow((short) 2);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          cell
=row.createCell((short) 2);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          cell.setCellValue(
11111.25);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          cellStyle
=workbook.createCellStyle();
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          cellStyle.setDataFormat(format.getFormat(
"0.0"));
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          cell.setCellStyle(cellStyle);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          row
=sheet.createRow((short) 3);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          cell
=row.createCell((short) 3);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          cell.setCellValue(
9736279.073);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          cellStyle
=workbook.createCellStyle();
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          cellStyle.setDataFormat(format.getFormat(
"#,##0.0000"));
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          cell.setCellStyle(cellStyle);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />         
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />          sheet.autoSizeColumn((
short)0); //调整第一列宽度
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         sheet.autoSizeColumn((short)1); //调整第二列宽度
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         sheet.autoSizeColumn((short)2); //调整第三列宽度
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
         sheet.autoSizeColumn((short)3); //调整第四列宽度
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />

http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif." />         
try{
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />              FileOutputStream fileOut
=newFileOutputStream("C:\3.xls");
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />              workbook.write(fileOut);
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />              fileOut.close();
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif." />          }
catch(Exception e) {
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />              System.out.println(e.toString());
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif." />          }

http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif." />      }

http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif." />
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif." /> }

原文地址:http://doggou.iteye.com/blog/198631


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有