Java POI 写入Excel 完整代码
2013-09-24 15:11
411 查看
操作Excel的原理大体是这样: 1.创建一个Excel文件 2.读取Excel文件 3.进行读出和写入操作 应该就这么简单! 示例: CreateXL.java /** * Copyright by 2006 A&D. * writer: hike. */ package comm; //如需设置字体,请导入以下两个包 //import org.apache.poi.hssf.usermodel.HSSFCellStyle; //import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFCell; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class CreateXL { /** * *解决中文问题 */ public static String getUnicode(String toEncoded,String encoding){ String retString=""; if(toEncoded.equals("")||toEncoded.trim().equals("")) { return toEncoded; } try { byte[] b=toEncoded.getBytes(encoding); sun.io.ByteToCharConverter convertor=sun.io.ByteToCharConverter.getConverter(encoding); char [] c=convertor.convertAll(b); for(int i=0;i< c.length;i++) { retString+=String.valueOf(c[i]); } }catch(java.io.UnsupportedEncodingException usee) { System.out.println("不支持"+encoding+"编码方式"); usee.printStackTrace(); }catch(sun.io.MalformedInputException mfie) { System.out.println("输入参数无效!!!"); mfie.printStackTrace(); } return retString; } /** * 写入EXCEL */ //Excel 文件要存放的位置,假定在D盘JTest目录下 public static String UPath="D:\\JTest"; //工作簿名称,可以取中文(就是另存为名称). public static String outputFile="D:/JTest/test.xls"; public static void main(String argv[]){ try{ // 如果UPath不存在,则创建路径 if(!new java.io.File(UPath).isDirectory()){ new java.io.File(UPath).mkdirs(); } File objFile = new File(outputFile); HSSFWorkbook workbook = null; HSSFSheet sheet = null; String table_name = "sheet1"; //创建文件 if(!objFile.exists()){ //文件不存在 //创建新的Excel 工作簿 System.out.println("检测到文件不存在,正在创建文件..."); workbook = new HSSFWorkbook(); //在Excel工作簿中建一工作表,其名为缺省值 //如要新建一名为"效益指标"的工作表,其语句为: //HSSFSheet sheet = workbook.createSheet("效益指标"); //上一句是来自网上,其实表名并不支持中文,转换后也不行! //如有人已解决,请给出,谢谢! sheet = workbook.createSheet(table_name); //新建一输出文件流 FileOutputStream fOut = new FileOutputStream(outputFile); //把相应的Excel 工作簿存盘 workbook.write(fOut); fOut.flush(); //操作结束,关闭文件 fOut.close(); } //如果文件存在,将直接插入数据. //创建对Excel工作簿文件的引用 workbook = new HSSFWorkbook(new FileInputStream(outputFile)); //创建对工作表的引用。 //本例是按名引用(让我们假定那张表有着缺省名"Sheet1") sheet = workbook.getSheet(table_name); //也可用getSheetAt(int index)按索引引用, //在Excel文档中,第一张工作表的缺省索引是0, //其语句为:HSSFSheet sheet = workbook.getSheetAt(0); //读取左上端单元 //行和列都是以'0'开头,比如A1为'00' for(int i=0; i< 2; i++){ for(int j=0; j< 5; j++){ //这儿,你可以测试读出一个已存在文件 //HSSFRow row = sheet.getRow(i); //HSSFCell cell = row.getCell((short)j); //输出单元内容,cell.getStringCellValue()就是取所在单元的值 //System.out.println("左上端单元是: " + cell.getStringCellValue()); //在索引0的位置创建行(最顶端的行) //这儿,测试插入数据 //插入之前必需先创建 HSSFRow row = sheet.createRow((short)i); //在索引0的位置创建单元格(左上端) HSSFCell cell = row.createCell((short)j); //在创建之后可以设置单元格格式 //具体用法将附于文档后面. //记得要导入包 //定义单元格为字符串类型 //这两名非常重要,缺少,则不能显示中文, //即使你调用编码转换方法,也不行. cell.setCellType(HSSFCell.CELL_TYPE_STRING); //指定编码格式 cell.setEncoding(HSSFCell.ENCODING_UTF_16); //在单元格中输入一些内容 String text = ""+i+j+""; //调用编码转换方法,只针对中文 text = getUnicode(text,"gb2312"); cell.setCellValue(text); //新建一输出文件流 FileOutputStream fOut = new FileOutputStream(outputFile); //把相应的Excel 工作簿存盘 workbook.write(fOut); fOut.flush(); // 操作结束,关闭文件 fOut.close(); } } System.out.println("文件已生成!"); } catch(Exception e) { System.out.println("已运行 xlCreate() : " + e ); } } } 设置单元格格式 在这里,我们将只介绍一些和格式设置有关的语句, 我们假定workbook就是对一个工作簿的引用。在Java中, 第一步要做的就是创建和设置字体和单元格的格式,然后再应用这些格式: 例用开发工具追踪器,可以查看更多参数,自己慢慢去研究! 1、创建字体,设置其为红色、粗体: HSSFFont font = workbook.createFont(); font.setColor(HSSFFont.COLOR_RED); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); 2、创建格式 HSSFCellStyle cellStyle= workbook.createCellStyle(); cellStyle.setFont(font); 3、应用格式 HSSFCell cell = row.createCell((short) 0); cell.setCellStyle(cellStyle); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue("标题"); | |
相关文章推荐
- 用java的poi类读取一个excel表格的内容后再写入到一个新excel表格中的完整代码
- javaPOI导出excel代码
- Java Poi操作Excel写入数据并设置style
- 用POI来读取/写入完整的Excel文件(一)
- java 通过poi 读取Excel 写入sqlser mysql
- javaweb 利用POI生成excel报表 相关代码
- Java代码用POI读写Excel并修改excel格式
- java POI操作Excel代码收藏 (包括标题垂直水平居中)
- java利用POI向Excel(xls)写入图片,并对图片引用超链接
- 一个将数据文件转换成excel文件打印的java实现方法的代码片断(Struts+poi)
- Java POI 导出 Excel 到本地详细实例(附jar包,测试代码,测试结果图)
- Java代码:用jxl实现excel的读取和写入
- java poi技术操作excel之写Excel(向Excel中写入值)
- java poi导入EXCEL xls文件代码
- java 基于poi 写入excel 合并单元格
- 简单的java写入到excel中的代码
- java poi 写入大量数据到excel中
- java poi导出EXCEL xls文件代码
- Java POI 写入Excel
- Java POI 写入Excel