一、
1、实现本功能需要Apache poi 的包,到官网上下载最新的jar包添加到项目中就行,本文采用的版本为poi-3.10.1-20140818.jar,把官网上下载的bin文件解压,找到这个包放进项目就行,其他包是为其他文档提供的。
二、
完整例子如下:
import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.hssf.usermodel.HSSFDataFormat; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.DataFormat; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; public class WriteToExcel { public static void main(String[] args) { try { //新建一个Excel 文件 FileOutputStream out; out = new FileOutputStream("workbook.xls"); Workbook wb = new HSSFWorkbook(); Sheet s = wb.createSheet(); //声明一个行对象和单元格对象 Row r = null; Cell c = null; //创建三种单元格样式 CellStyle cs = wb.createCellStyle(); CellStyle cs2 = wb.createCellStyle(); CellStyle cs3 = wb.createCellStyle(); //创建数据格式化对象化对象 DataFormat df = wb.createDataFormat(); //创建两种字体 Font f = wb.createFont(); Font f2 = wb.createFont(); // 设置字体一的大小为12 f.setFontHeightInPoints((short) 12); // 设置字体为蓝色 f.setColor((short) 0xc); // 设置边框 f.setBoldweight(Font.BOLDWEIGHT_BOLD); //设置字体二 f2.setFontHeightInPoints((short) 10); f2.setColor((short) Font.COLOR_RED); f2.setBoldweight(Font.BOLDWEIGHT_BOLD); //添加删除线 f2.setStrikeout(true); cs.setFont(f); cs.setDataFormat(df.getFormat("#,##0.0")); cs2.setBorderBottom(CellStyle.BORDER_THIN); cs2.setFillPattern((short) CellStyle.SOLID_FOREGROUND); cs2.setDataFormat(HSSFDataFormat.getBuiltinFormat("text")); cs2.setFont(f2); wb.setSheetName(0, "HSSF Test"); /* * 以下代码添加了30行数据,每行10条数据 */ int rownum; for (rownum = (short) 0; rownum < 30; rownum++) { r = s.createRow(rownum); if ((rownum % 2) == 0) { r.setHeight((short) 0x249); } for (short cellnum = (short) 0; cellnum < 10; cellnum += 2) { c = r.createCell(cellnum); c.setCellValue(rownum * 10000 + cellnum + (((double) rownum / 1000) + ((double) cellnum / 10000))); c = r.createCell((short) (cellnum + 1)); if ((rownum % 2) == 0) { c.setCellStyle(cs); c.setCellValue("Test"); } else { c.setCellStyle(cs2); c.setCellValue("\u0422\u0435\u0441\u0442"); } s.setColumnWidth((short) (cellnum + 1), (short) ((50 * 8) / ((double) 1 / 20))); } } /** * 空出两行,设置50个单元格的下边框为加粗的黑线 */ rownum++; rownum++; r = s.createRow(rownum); cs3.setBorderBottom(CellStyle.BORDER_THICK); // create 50 cells for (short cellnum = (short) 0; cellnum < 50; cellnum++) { c = r.createCell(cellnum); c.setCellStyle(cs3); } /** * 创建一张sheet ,然后删除 */ s = wb.createSheet(); wb.setSheetName(1, "DeletedSheet"); wb.removeSheetAt(1); /** * 将数据写入文件中,然后关闭 */ wb.write(out); out.close(); } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }