[个人总结]Java生成Excel文件
2009-10-11 15:09
197 查看
个人总结说白了东西就是给我自己看的。
//在struts中提供国际化支持 boolean ishk = false; Locale locale = (Locale) request.getSession().getAttribute(Globals.LOCALE_KEY); if (locale != null && locale == Locale.TRADITIONAL_CHINESE) { ishk = true; } POIFSFileSystem fis; HSSFWorkbook book; HSSFSheet sheet; HSSFRow row; HSSFCell cell; int sheetId = 1; String sheetName = "sheet1"; String filePath = CoreUtils.getSystemResourceMapped(request); fis = new POIFSFileSystem(new FileInputStream(filePath+ "excel/bomlist2.xls")); //读取Excel模板 book = new HSSFWorkbook(fis); sheet = book.cloneSheet(0); book.setSheetName(sheetId, sheetName); //以下为在Excel模板中写入数据前得到Cell的位置 注意这里的getRow 1 creatCell 2 均从0开始 row = sheet.getRow((short) 1); cell = row.createCell((short)2); //这里使用create 而不是 getCell 原因为:这个Cell在模板中是空的,就是什么都没有。如果getCell 就会出现问题。 //写入数值 CoreUtils.setCellValue(cell, ishk, bomversion.getPartno()); //在Excel文件中加入JPG图片 ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); BufferedImage bufferImg = ImageIO.read(new File(filePath + "excel/changyi.jpg")); ImageIO.write(bufferImg, "JPG", byteArrayOut); HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 186, 15,(short) 0, 0, (short) 3,1); HSSFPatriarch patri = sheet.createDrawingPatriarch(); patri.createPicture(anchor, book.addPicture(byteArrayOut .toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
其中在CoreUtils中静态方法setCellValue的定义:格式转换与中文支持。
public static void setCellValue(HSSFCell cell, boolean ishk, Object val) { cell.setEncoding(HSSFCell.ENCODING_UTF_16); if (val instanceof Number) { cell.setCellValue(((Number) val).doubleValue()); } else if (val instanceof Date) { cell.setCellValue((Date) val); } else { cell.setEncoding(HSSFCell.ENCODING_UTF_16); if (ishk) { cell.setCellValue(EncodingTranslate.convertString(CoreUtils.formatString(val), Encoding.GB2312, Encoding.BIG5)); } else { cell.setCellValue(CoreUtils.formatString(val)); } } }
相关文章推荐
- java开发技术总结-----使用poi生成excel文件
- 个人总结/Binder+AIDL自动生成Java文件中的代码分析
- Java生成excel文件邮件发送给多个人
- java ID生成策略个人总结
- [个人总结]Java生成PDF文件
- java之native及jni生成dll总结
- [深入理解JAVA虚拟机]读后个人总结二之JAVA内存区域
- java程序员学习书籍列表(个人总结)
- 个人项目(四则运算题目生成程序)总结
- 第十周(11.18-11.24)----个人项目----学习java总结2
- Java生成和操作Excel文件
- java 生成Excel文件
- Java Excel API jxl入门及jxl.jar下载(java生成excel文件)
- JAVA版 微信企业号开发 个人总结(微信网页授权例子,微信企业号精准定位,误差5-10米)
- 怎样开始用selenium进行自动化测试(个人总结) 测试工具 java
- java基础个人笔记总结
- java并发容器---个人学习总结
- JAVA学习49_Java生成和操作Excel文件
- java生成随机数总结
- Keil的lib生成个人总结