知识大全 Java Poi 操作Excle

Posted

篇首语:一身转战三千里,一剑曾百万师。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java Poi 操作Excle相关的知识,希望对你有一定的参考价值。

Java Poi 操作Excle  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   创建一个新的Excle工作薄view plain // 创建新的Excel 工作簿HSSFWorkbook workbook = new HSSFWorkbook()

  // 在Excel工作簿中建一工作表 其名为缺省值 也可以指定Sheet名称HSSFSheet sheet = workbook createSheet() //HSSFSheet sheet = workbook createSheet( SheetName )

   创建新行(row) 并将单元格(cell)放入其中 行号从 开始计算

  view plain HSSFRow row = sheet createRow((short) ) 设置sheet名称和单元格内容为中文view plain wb setSheetName(n 中文 HSSFCell ENCODING_UTF_ ) cell setEncoding((short) ) cell setCellValue( 中文 ) 设置列宽 行高view plain sheet setColumnWidth((short)column (short)width) row setHeight((short)height) 添加区域 合并单元格view plain Region region = new Region((short)rowFrom (short)columnFrom (short)rowTo (short)columnTo) sheet addMergedRegion(region) //得到所有区域sheet getNumMergedRegions()

   设置单元格边框格式虚线HSSFCellStyle BORDER_DOTTED实线HSSFCellStyle BORDER_THIN view plain public static HSSFCellStyle getCellStyle(short type) HSSFWorkbook wb = new HSSFWorkbook() HSSFCellStyle style = wb createCellStyle() style setBorderBottom(type) //下边框style setBorderLeft(type) //左边框style setBorderRight(type) //右边框style setBorderTop(type) //上边框return style 设置字体和内容位置view plain HSSFFont f  = wb createFont() f setFontHeightInPoints((short) ) //字号f setBoldweight(HSSFFont BOLDWEIGHT_NORMAL) //加粗style setFont(f) style setAlignment(HSSFCellStyle ALIGN_CENTER) //左右居中style setVerticalAlignment(HSSFCellStyle VERTICAL_CENTER) //上下居中style setRotation(short rotation) //单元格内容的旋转的角度HSSFDataFormat df = wb createDataFormat() style setDataFormat(df getFormat( % )) //设置单元格数据格式cell setCellFormula(string) //给单元格设公式style setRotation(short rotation) //单元格内容的旋转的角度cell setCellStyle(style) 插入图片view plain //先把读进来的图片放到一个ByteArrayOutputStream中 以便产生ByteArray ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream() BufferedImage bufferImg = ImageIO read(new File( ok jpg )) ImageIO write(bufferImg jpg byteArrayOut) //读进一个excel模版FileInputStream fos = new FileInputStream(filePathName+ /stencil xlt ) fs = new POIFSFileSystem(fos) //创建一个工作薄HSSFWorkbook wb = new HSSFWorkbook(fs) HSSFSheet sheet = wb getSheetAt( ) HSSFPatriarch patriarch = sheet createDrawingPatriarch() HSSFClientAnchor anchor = new HSSFClientAnchor( (short) (short) ) patriarch createPicture(anchor wb addPicture(byteArrayOut toByteArray() HSSFWorkbook PICTURE_TYPE_JPEG))

  例 java view plain import java io FileOutputStream

  import apache poi hssf usermodel HSSFCell import apache poi hssf usermodel HSSFCellStyle import apache poi hssf usermodel HSSFFont import apache poi hssf usermodel HSSFRow import apache poi hssf usermodel HSSFSheet import apache poi hssf usermodel HSSFWorkbook import apache poi hssf usermodel HSSFRichTextString import apache poi hssf usermodel HSSFDataFormat import apache poi hssf usermodel HSSFComment import apache poi hssf usermodel HSSFPatriarch import apache poi hssf usermodel HSSFClientAnchor

  public class PoiCreateExcelTest …… public static void main(String[] args) …… /** *//** * @see <a >>For more</a> */ // 创建新的Excel 工作簿HSSFWorkbook workbook = new HSSFWorkbook()

  // 在Excel工作簿中建一工作表 其名为缺省值 也可以指定Sheet名称HSSFSheet sheet = workbook createSheet() //HSSFSheet sheet = workbook createSheet( SheetName )

  // 用于格式化单元格的数据HSSFDataFormat format = workbook createDataFormat()

  // 创建新行(row) 并将单元格(cell)放入其中 行号从 开始计算

  HSSFRow row = sheet createRow((short) )

  // 设置字体HSSFFont font = workbook createFont() font setFontHeightInPoints((short) ) //字体高度font setColor(HSSFFont COLOR_RED) //字体颜色font setFontName( 黑体 ) //字体font setBoldweight(HSSFFont BOLDWEIGHT_BOLD) //宽度font setItalic(true) //是否使用斜体//        font setStrikeout(true) //是否使用划线

  // 设置单元格类型HSSFCellStyle cellStyle = workbook createCellStyle() cellStyle setFont(font) cellStyle setAlignment(HSSFCellStyle ALIGN_CENTER) //水平布局 居中cellStyle setWrapText(true)

  // 添加单元格注释// 创建HSSFPatriarch对象 HSSFPatriarch是所有注释的容器

  HSSFPatriarch patr = sheet createDrawingPatriarch() // 定义注释的大小和位置 详见文档HSSFComment ment = patr createComment(new HSSFClientAnchor( (short) (short) )) // 设置注释内容ment setString(new HSSFRichTextString( 可以在POI中添加注释! )) // 设置注释作者 当鼠标移动到单元格上是可以在状态栏中看到该内容

  ment setAuthor( Xuys )

  // 创建单元格HSSFCell cell = row createCell((short) ) HSSFRichTextString hssfString = new HSSFRichTextString( Hello World! ) cell setCellValue(hssfString) //设置单元格内容cell setCellStyle(cellStyle) //设置单元格样式cell setCellType(HSSFCell CELL_TYPE_STRING) //指定单元格格式 数值 公式或字符串cell setCellComment(ment) //添加注释

  //格式化数据row = sheet createRow((short) ) cell = row createCell((short) ) cell setCellValue( ) cellStyle = workbook createCellStyle() cellStyle setDataFormat(format getFormat( )) cell setCellStyle(cellStyle)

  row = sheet createRow((short) ) cell = row createCell((short) ) cell setCellValue( ) cellStyle = workbook createCellStyle() cellStyle setDataFormat(format getFormat( # ## )) cell setCellStyle(cellStyle)

  sheet autoSizeColumn((short) ) //调整第一列宽度sheet autoSizeColumn((short) ) //调整第二列宽度sheet autoSizeColumn((short) ) //调整第三列宽度sheet autoSizeColumn((short) ) //调整第四列宽度

  try …… FileOutputStream fileOut = new FileOutputStream( C \\ xls ) workbook write(fileOut) fileOut close() catch (Exception e) …… System out println(e toString())

  如果编译器提示没有autoSizeColumn这个方法 那可能是你的poi版本太低的缘故 我用的是poi 版本

  例 Grails view plain /** * Excel导出方法 导出班级工作情况统计列表* @param * titleList 标题集合* classTableInstanceList questionList 数据集合* * out OutputStream out = response getOutputStream() * @return * */ def exportWorkList(titleList classList questionList out ttList)

  Workbook wb = new HSSFWorkbook() Sheet sheet = wb createSheet( sheet ) //班级工作情况统计

  HSSFRow   row   =   sheet createRow((short) ) HSSFRow   row    =   sheet createRow((short) ) HSSFCell   cell   =   row createCell((short) ) HSSFCell   cell    =   row createCell((short) )

  // 设置字体HSSFFont font = wb createFont() //font setFontHeightInPoints((short) ) //字体高度//font setColor(HSSFFont COLOR_RED) //字体颜色//font setFontName( 黑体 ) //字体font setBoldweight(HSSFFont BOLDWEIGHT_BOLD) //宽度

  // 设置单元格类型HSSFCellStyle cellStyle = wb createCellStyle() cellStyle setFont(font) cellStyle setAlignment(HSSFCellStyle ALIGN_CENTER) //水平布局 居中cellStyle setWrapText(true)

  HSSFCellStyle cellStyle = wb createCellStyle() cellStyle setAlignment(HSSFCellStyle VERTICAL_TOP) //垂直布局 居上cellStyle setWrapText(true)        //设置自动换行

  //设置单元格宽度sheet setColumnWidth( )        //序列sheet setColumnWidth( )        //区县名称sheet setColumnWidth( )        //基地名称sheet setColumnWidth( )        //班级名称sheet setColumnWidth( )        //班级状态

  sheet setColumnWidth( )       //拓宽问题 的单元格宽度

  sheet setColumnWidth( )       //评价最高的老师sheet setColumnWidth( )       //评价最低的老师

  titleList eachWithIndex p i > if(i>= && i<= ) cell = row createCell( + *(i )) sheet addMergedRegion(new Region( (short) (short) )) //合并区域第一行sheet addMergedRegion(new Region( (short)( + *(i )) (short)( + *(i )+ ))) //指定合并区域cell setCellValue(p) cell setCellStyle(cellStyle) //设置单元格样式

            

cha138/Article/program/Java/hx/201311/26981

相关参考

知识大全 java操作word

  最近在做项目的时候需要这么一个功能客户有一大堆word格式的模板需要我们用程序向模板里面填充一些数据如果是直接重新写一个Word用POI或Itext都可以搞定关键是读取并解析而且Word里有表格图

知识大全 ORACLE里面的数据导入到EXCLE

ORACLE里面的数据导入到EXCLE  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  开始>

知识大全 用POI将Mysql数据导入到Excel中去

用POI将Mysql数据导入到Excel中去  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在我

知识大全 出纳新手求现金流水账表格,还有现金日记账和银行存款日记账 银行余额调节表EXCle表 谢谢帮忙 感激不尽!

出纳新手求现金流水账表格,还有现金日记账和银行存款日记账银行余额调节表EXCle表谢谢帮忙感激不尽!  以下文字资料是由(本站网www.cha138.com)小编为大家搜

知识大全 java 常用IO操作

java常用IO操作  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  packagesyjutil

知识大全 Java操作文本封装类

Java操作文本封装类  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  importjavaioB

知识大全 Java对各种文件的操作详解

Java对各种文件的操作详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  java中提供了io

知识大全 如何在java中操作word

  想用java操作word文件?jacob是个不错的选择也就是java桥你可以在project/下载我下载的版本是注意版本太低的话可能会报错  如果没有特殊需求可以直接使用jacob_*zip中提供

知识大全 Java操作DB2 XML数据实践

Java操作DB2XML数据实践  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java操作DB

知识大全 利用 Java 存储过程简化数据库操作

利用Java存储过程简化数据库操作  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  利用Java存