jxl导出excel文件
来源:互联网 发布:谷歌眼镜网络连接失败 编辑:程序博客网 时间:2024/04/29 02:44
所需要的第三方jar包:jxl.jar
package test;import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.Date; import java.util.List; import jxl.Workbook; import jxl.format.Alignment; import jxl.format.Border; import jxl.format.BorderLineStyle; import jxl.format.Colour; import jxl.format.Pattern; import jxl.format.UnderlineStyle; import jxl.format.VerticalAlignment; import jxl.write.Label; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; /** * @author cyq * 导出 excel */public class ExcelExport { public static void main(String[] args) { List<String[]> list = new ArrayList<String[]>(); list.add(new String[] { "a", "b", "c" }); list.add(new String[] { "d", "e", "f" }); createExcel(list, new String[] { "ID", "名称", "时间" }, "G:\\", String.valueOf(new Date().getTime())); } /** * 生成Excel * @param models 数据List<String[]> * @param colNames 成Excel的实体列名 * @param tempPath 导出路径 * @param excelName 生成的Excel名 */ public static void createExcel(List<String[]> models, String[] colNames, String tempPath, String excelName) { try { OutputStream os = new FileOutputStream(tempPath + "\\" + excelName + ".xls"); WritableWorkbook workbook = Workbook.createWorkbook(os); /*createSheet 传入的int型参数代表sheet号,0是第一页,1是第二页,依次类推,打开Excel表格在底端可以看到,编号最小的页在最左边。 如果在使用createSheet函数的时候没有注意编号问题,两次使用了同一个编号,比如两次创建编号为0的sheet,这时第二次创建的sheet会是第一页,但第一次创建的sheet并未被覆盖,而是向后移成为第二页,后面的页也都后移一页,有些像数组的插入。 另外如果使用了不连续的编号,比如依次创建了编号为0,1,2的sheet,接着创建了编号为4的sheet,这时最后创建的一个sheet的编号不会是4,而是会被设置为顺延的3,如果你执行getSheet(4),会报数组越界的错 */ WritableSheet sheet = workbook.createSheet(excelName, 0); // 设置标题 WritableFont titleFont = new WritableFont(WritableFont.ARIAL, 17, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.WHITE); WritableCellFormat wcf_title = new WritableCellFormat(titleFont); wcf_title.setBackground(Colour.TEAL, Pattern.SOLID); wcf_title.setBorder(Border.ALL, BorderLineStyle.DOUBLE, Colour.OCEAN_BLUE); wcf_title.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐 wcf_title.setAlignment(Alignment.CENTRE); // 设置正文 WritableFont NormalFont = new WritableFont(WritableFont.TAHOMA, 11); WritableCellFormat wcf_center = new WritableCellFormat(NormalFont); wcf_center.setBorder(Border.ALL, BorderLineStyle.DOUBLE, Colour.GRAY_25); wcf_center.setVerticalAlignment(VerticalAlignment.CENTRE); // 垂直对齐 wcf_center.setAlignment(Alignment.CENTRE); wcf_center.setWrap(true); // 是否换行 sheet.addCell(new Label(0, 0, excelName, wcf_title)); sheet.mergeCells(0, 0, colNames.length, 0); //设置列名 for (int i = 0; i < colNames.length; i++) { sheet.setColumnView(i, colNames[i].length() * 5); sheet.addCell(new Label(i, 1, colNames[i], wcf_center)); } int rowId = 2;// 写入第几行 第一行为列头 数据从第二行开始写 //导入数据集 for (Object ssTopModel : models) { int columnId = 0;// 写入第几列 第一列为自动计算的行号 数据从第二列开始写 // 获取该类 并获取自身方法 String[] strs = (String[]) ssTopModel; for (int i = 0; i < strs.length; i++) { try { sheet.addCell(new Label(columnId, rowId, strs[i], wcf_center)); } catch (Exception e) { e.printStackTrace(); } columnId++; } rowId++; } workbook.write(); workbook.close(); os.flush(); os.close(); } catch (WriteException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
0 0
- jxl导出excel文件
- java jxl导出excel文件
- Strusts2实现jxl导出excel文件
- 使用JXL导出和解析EXCEL文件
- 如保用jxl实现导出Excel文件
- jxl导出excel文件工具类
- jxl导出xls后缀的excel文件
- jxl导出数据到excel文件
- 使用jxl导出Excel文件,并且设置Excel样式
- jxl 导出excel
- 使用jxl导出excel
- jxl导出excel
- Java jxl导出excel
- jxl实现导出excel
- Jxl导出Excel实现
- jxl导出Excel
- jxl 导出Excel
- jxl导出Excel
- UiAutomator上手笔记
- MySQL中tinytext、text、mediumtext和longtext详解
- MySQL5.6安装&修改root密码&创建一定权限用户
- 应用服务器知识(6)--Jetty 的工作原理
- SQL中 SELECT INSERT 最简单使用
- jxl导出excel文件
- 【android学习】自定义标题栏
- Android 动态生成不同分辨率的values文件
- ajax同步异步
- IE9 不支持 base 标签
- 2016-5-17-2
- AsyncTask 安卓的异步访问网络
- logback logback.xml 常用配置详解
- 网络流之最大流问题