- 浏览: 132372 次
- 性别:
- 来自: 福建
文章分类
- 全部博客 (105)
- 数据库 (4)
- hibernate (4)
- css3 (2)
- 前端设计 (13)
- struts (6)
- HTML5 (1)
- jQuery (16)
- JDBC (3)
- spring (6)
- 娱乐 (1)
- MyEclipse (2)
- oracle (4)
- javascript (10)
- ibatis (2)
- log4j (1)
- css (16)
- java (13)
- IText (1)
- IDE (1)
- C3P0 (1)
- ssi (1)
- IO (1)
- jsp (1)
- JSTL (1)
- JXL (1)
- ssh (1)
- ajax (2)
- struts2 (1)
- html (1)
- 正则表达式 (1)
- 非技术 (1)
- Properties (1)
- Tomcat (1)
- 电大 (0)
- test (0)
最新评论
-
yejq:
收藏~~
使用 Ctrl + Enter 提交表单
JXL API生成EXCEL文件
import java.util.ArrayList; import java.util.List; import jxl.Workbook; import jxl.format.Alignment; import jxl.write.Label; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; public class ExcelDome { private static WritableCellFormat wcf_value;// 表格数据样式 private static WritableCellFormat wcf_value_left; private static WritableCellFormat wcf_key;// 表头样式 private static WritableCellFormat wcf_name_left;// 表名样式 private static WritableCellFormat wcf_name_right;// 表名样式 private static WritableCellFormat wcf_name_center;// 表名样式 private static WritableCellFormat wcf_title;// 页名称样式 private static WritableCellFormat wcf_percent_float; private static final int MAXCOLS = 7;// 表名称样式 // 生成Excel文件 public void genarateExcel(File file) throws Exception { /****** 定义表格格式start *****/ WritableFont wf_key = new jxl.write.WritableFont(WritableFont.createFont("微软雅黑"), 10, WritableFont.BOLD); WritableFont wf_value = new jxl.write.WritableFont(WritableFont.createFont("微软雅黑"), 10, WritableFont.NO_BOLD); wcf_value = new WritableCellFormat(wf_value); wcf_value.setAlignment(jxl.format.Alignment.CENTRE); wcf_value.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); wcf_value.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN); wcf_value_left = new WritableCellFormat(wf_value); wcf_value_left.setAlignment(jxl.format.Alignment.LEFT); wcf_value_left.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); wcf_value_left.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN); wcf_value_left.setWrap(true); wcf_key = new WritableCellFormat(wf_key); wcf_key.setAlignment(jxl.format.Alignment.CENTRE); wcf_key.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN); wcf_name_left = new WritableCellFormat(wf_key); wcf_name_left.setAlignment(Alignment.LEFT); wcf_name_left.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); wcf_name_right = new WritableCellFormat(wf_key); wcf_name_right.setAlignment(Alignment.LEFT); wcf_name_center = new WritableCellFormat(wf_key); wcf_name_center.setAlignment(Alignment.CENTRE); jxl.write.NumberFormat wf_percent_float = new jxl.write.NumberFormat("0.00"); wcf_percent_float = new jxl.write.WritableCellFormat(wf_value,wf_percent_float); wcf_percent_float.setAlignment(jxl.format.Alignment.CENTRE); wcf_percent_float.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); wcf_percent_float.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN); WritableFont wf_title = new jxl.write.WritableFont(WritableFont.createFont("微软雅黑"), 12, WritableFont.BOLD); wcf_title = new WritableCellFormat(wf_title); wcf_title.setAlignment(Alignment.LEFT); /****** 定义表格格式end *****/ try { WritableWorkbook wb = Workbook.createWorkbook(file); WritableSheet ws = wb.createSheet("数据报表", 0); int startRowNum = 0;// 起始行 int startColNum = 0;// 起始列 int maxColSize = 4;// 最大列数 // 设置列宽 ws.setColumnView(0, 20); ws.setColumnView(1, 18); ws.setColumnView(2, 20); ws.setColumnView(3, 18); generateCells(ws, startRowNum++, startColNum, 1, MAXCOLS); ws.addCell(new Label(startColNum, startRowNum, "薪资计算周期:", wcf_title)); ws.mergeCells(startColNum, startRowNum, startColNum + maxColSize- 1, startRowNum); startColNum = 0; startRowNum++; generateCells(ws, startRowNum++, startColNum, 1, MAXCOLS); //第1行 ws.addCell(new Label(startColNum, startRowNum, "姓 名:",wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "SSS", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "所 在 部 门:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "SSS", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; startRowNum++; startColNum = 0; //第1行 ws.addCell(new Label(startColNum, startRowNum, "出 勤 天 数:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "SSS", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "在 职 状 态:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "XXXXXX", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; startRowNum++; startColNum = 0; ws.addCell(new Label(startColNum, startRowNum, "应发项目",wcf_name_right)); ws.mergeCells(startColNum, startRowNum, startColNum + maxColSize- 1, startRowNum); startColNum = 0; startRowNum++; //第3行 ws.addCell(new Label(startColNum, startRowNum, "基 本 工 资:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "SSS", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "保 密 工 资:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "XXXXXX", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; startRowNum++; startColNum = 0; //第3行 ws.addCell(new Label(startColNum, startRowNum, "佣 金 收 入:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "SSS", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "提 成 点 数:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "SSS", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; startRowNum++; startColNum = 0; //第3行 ws.addCell(new Label(startColNum, startRowNum, "发 放 比 例:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "XXXXXX", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "本月提成金额:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "XXXXXX", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; startRowNum++; startColNum = 0; //第3行 ws.addCell(new Label(startColNum, startRowNum, "转入佣金收入:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "SSS", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "转入提成金额:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "XXXXXX", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; startRowNum++; startColNum = 0; //第3行 ws.addCell(new Label(startColNum, startRowNum, "餐 补:",wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "SSS", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "应 发 小 计:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "XXXXXX", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; startRowNum++; startColNum = 0; ws.addCell(new Label(startColNum, startRowNum, "扣除项目",wcf_name_right)); ws.mergeCells(startColNum, startRowNum, startColNum + maxColSize- 1, startRowNum); startColNum = 0; startRowNum++; //第5行 ws.addCell(new Label(startColNum, startRowNum, "社 会 保 险:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "XXXXXX", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "考 勤 扣 款:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "SSS", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; startRowNum++; startColNum = 0; //第5行 ws.addCell(new Label(startColNum, startRowNum, "工 作 扣 罚:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "XXXXXX", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "个人所得税:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum,"SSS", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; startRowNum++; startColNum = 0; //第5行 ws.addCell(new Label(startColNum, startRowNum, "其 他:",wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "XXXXXX", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "扣 除 小 计:", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; ws.addCell(new Label(startColNum, startRowNum, "XXXXXX", wcf_key)); ws.mergeCells(startColNum, startRowNum, startColNum, startRowNum); startColNum = startColNum + 1; startRowNum++; startColNum = 0; generateCells(ws, startRowNum++, startColNum, 1, MAXCOLS); generateCells(ws, startRowNum++, startColNum, 1, MAXCOLS); ws.addCell(new Label(startColNum, startRowNum, "本月实际到账金额:",wcf_name_right)); ws.mergeCells(startColNum, startRowNum, startColNum + maxColSize- 1, startRowNum); startColNum = 0; startRowNum++; wb.write(); wb.close(); } catch (Exception e) { e.printStackTrace(); } } // 生成空单元格 public void generateCells(WritableSheet ws, int startRows, int startColNums, int rows, int cols) { for (int r = 0; r < rows; r++) { for (int c = 0; c < cols; c++) { try { ws.addCell(new Label(startColNums + c, startRows + r, "")); } catch (Exception e) { e.printStackTrace(); } } } } public static void main(String[] args) throws Exception { for(int c = 0; c < 3; c++){ String name = "D:\\xls\\2012-01(我我我)+"+c+".xls"; File file = new File(name); file.createNewFile(); new ExcelDome().genarateExcel(file); System.out.println(file); } }
相关推荐
6. **读取Excel**:除了生成Excel文件,jxl还可以读取已有的Excel文件,将其内容转化为Java数据结构,便于处理和分析。 7. **示例代码**:通常,使用jxl的流程包括加载模板文件,找到要填充的单元格,使用`Cell....
Java使用JXL库生成Excel文件是一项常见的任务,特别是在数据处理、报表生成或导出时。JXL是一个开源的Java库,允许我们...JXL提供了广泛的API来处理各种复杂的Excel操作,是Java环境下生成Excel文件的一个实用工具。
JXL API是一个流行的开源库,它允许Java开发者方便地读取、写入和修改Excel文件。本篇文章将深入探讨JXL API的使用,包括它的核心概念、功能以及如何在实际项目中应用。 **JXL API简介** JXL(Java Excel API)是...
由于Excel文件在数据存储和报告生成方面具有广泛的应用,因此jxl库在企业级开发中扮演了重要角色。它提供了一套直观的API,使得读写Excel文件变得简单易行。 首先,我们来了解一下如何添加jxl库到你的Java项目中。...
总的来说,JXL API是Java开发中处理Excel文件的得力助手,其提供的帮助文档JXL_API.chm是开发者快速上手和解决问题的关键。通过深入学习和实践,开发者可以充分利用JXL API的特性,实现高效的数据导出功能,为日常...
这使得在生成Excel文件时能够保持与原文件一致的视觉效果。 4. **公式与函数支持**:API允许在单元格中插入Excel公式,进行计算,并返回结果。开发者可以利用此功能实现复杂的Excel计算逻辑。 5. **读取与写入**:...
JXL(Java Excel API)是一个开源的Java库,专门用于读取、写入和修改Microsoft Excel文件。它支持多种操作,包括创建新的Excel工作簿,读取现有的工作簿,修改单元格内容,以及设置样式等。JXL库因其简单易用的API...
1. **不支持图表**: 当前版本不支持读取或生成Excel文件中的图表信息。 2. **公式生成限制**: 虽然可以读取公式,但无法生成新的公式,只能读取公式的计算结果。 **应用示例** 在Java中使用JXL API的基本流程如下...
Java Excel API,简称jxl,是一个开源项目,它允许Java开发者方便地操作Excel文件,无论是读取、创建还是更新Excel内容。在Web应用程序中,尤其是JSP和Servlet中,jxl API提供了处理Excel数据的强大功能,使得在非...
Java生成Excel文件是许多开发人员在处理数据导出或报告生成时经常遇到的任务。`jxl`库是一个非常流行的开源Java库,它允许开发者轻松地读取、写入和修改Excel文件。`jxl`库提供了丰富的API,使得在Java程序中操作...
"JXLExcel生成简单excel表"是一个基于JXL库的插件,它简化了使用Java创建Excel文件的过程,使得开发者无需深入理解JXL库的复杂性就能快速生成基本的Excel表格。 JXL,全称Java Excel API,是一个开源的Java库,专门...
在Java开发中,生成和处理Excel文件是一项常见的任务,特别是在数据导出或报表生成的场景。JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。本篇将深入探讨如何使用JXL库在Java中打印Excel...
JXL是另一个处理Excel文件的Java库,它提供了简单的API用于读写Excel文件。在描述中提到的"jxl-2.6.jar"是JXL的一个版本。虽然POI功能更强大,但JXL在某些场景下可能更易于使用,尤其是对于简单的Excel操作。 - ...
在描述中提到了一个博客链接,虽然具体内容未给出,但我们可以推测这篇博客可能详细介绍了如何使用JXL库来解析和生成Excel文件。通常,这样的教程会涵盖以下知识点: 1. **安装JXL**:介绍如何将JXL库添加到Java...
总的来说,Jxl库为Java开发者提供了强大而灵活的Excel处理能力,无论是创建新的Excel文件,还是读取和修改已有的文件,Jxl都能提供简洁的API和丰富的功能。通过深入学习和熟练掌握Jxl,开发者可以更好地应对各种...
jxl是对excel强有力的操纵工具,它具有丰富的API可以满足对excel的各种开发需要。
JXL API的版本V2.0提供了对Excel95、97、2000等格式文件的数据读取功能,能够读取Excel中的公式(对于97之后的版本),并且能够生成Excel数据表(格式为Excel97)。它还支持对字体、数字和日期的格式化,以及单元格...
JXL不仅能够读取Excel文件,还能够生成Excel 2000的标准格式文件。这意味着开发者可以利用JXL创建新的Excel文件,或者更新已有的Excel模板,这对于数据报告的自动化生成尤其有用。通过JXL,你可以构建起一套完整的...
JXL库(Java Excel API)是一个广泛使用的开源库,它允许开发者方便地读写Microsoft Excel文件。本篇文章将深入探讨如何利用JXL技术在Java中实现Excel文件的导出。 首先,我们需要了解JXL库的基本概念。JXL提供了多...
这篇博客文章结合了这两个技术,展示了如何在Struts2应用中生成Excel文件并将其导出给用户下载。 在Java开发中,导出数据到Excel是常见的需求,特别是在处理大量结构化数据时,如报表或数据分析。JXL库提供了一个...