- 浏览: 98808 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
cfan_haifeng:
props.setProperty("mail.po ...
JavaMail接收邮件 -
cfan_haifeng:
请问 imap 的如何实现啊
JavaMail接收邮件 -
cfan_haifeng:
兄弟,谢了,先
JavaMail接收邮件 -
minxinxin2010:
...
一些适用的js扩展方法 -
dengkanghua:
楼主,按你说的这样,成功了,一开始我这里报8流量控制错是因为没 ...
长短信实现系列之移动CMPP2.0
java应用jxl API读写excel:
package tf.excel; import java.io.File; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import jxl.Cell; import jxl.CellType; import jxl.DateCell; import jxl.LabelCell; import jxl.NumberCell; import jxl.Sheet; import jxl.Workbook; import jxl.format.Alignment; import jxl.format.Border; import jxl.format.BorderLineStyle; import jxl.format.CellFormat; import jxl.format.Colour; import jxl.format.VerticalAlignment; import jxl.write.DateFormats; import jxl.write.DateTime; import jxl.write.Label; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import common.Logger; public class JxlTest { private static Logger log = Logger.getLogger(JxlTest.class); private static SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); private File file; public JxlTest(String fileName) { this.file = new File(fileName); } public JxlTest(File file) { this.file = file; } public static void main(String[] args) { JxlTest jxl = new JxlTest("users.xls"); jxl.writeExcel(); List<User> list = jxl.readExcel(); for (User u : list) { log.info(u.yhm + "--" + u.xm + "--" + u.age + "--" + df.format(u.sr)); } } public void writeExcel() { WritableWorkbook ww; try { ww = Workbook.createWorkbook(file); WritableSheet ws = ww.createSheet("用户信息", 0); Operate.addLabelToSheet(ws, 0, 0, 3, 0, "用户信息", Style .getHeaderStyle()); Operate.addLabelToSheet(ws, 0, 1, "用户名", Style.getTitleStyle()); Operate.addLabelToSheet(ws, 1, 1, "姓名", Style.getTitleStyle()); Operate.addLabelToSheet(ws, 2, 1, "年龄", Style.getTitleStyle()); Operate.addLabelToSheet(ws, 3, 1, "生日", Style.getTitleStyle()); Operate.addLabelToSheet(ws, 0, 2, "tt", Style.getTitleStyle()); Operate.addLabelToSheet(ws, 1, 2, "糖糖", Style.getTitleStyle()); Operate.addLabelToSheet(ws, 2, 2, 25, Style.getTitleStyle()); Operate.addLabelToSheet(ws, 3, 2, df.parse("1984-08-12"), Style .getDateStyle()); Operate.addLabelToSheet(ws, 0, 3, "ff", Style.getTitleStyle()); Operate.addLabelToSheet(ws, 1, 3, "飞飞", Style.getTitleStyle()); Operate.addLabelToSheet(ws, 2, 3, 24, Style.getTitleStyle()); Operate.addLabelToSheet(ws, 3, 3, df.parse("1985-11-25"), Style .getDateStyle()); for (int i = 0; i < 4; i++) { ws.setColumnView(i, 16); } ws.setRowView(0, 20); ww.write(); ww.close(); log.info("写入excel成功!"); } catch (Exception e) { log.info("写入excel失败!"); e.printStackTrace(); } } public List<User> readExcel() { List<User> list = new ArrayList<User>(); Workbook wb; try { wb = Workbook.getWorkbook(file); Sheet sheet = wb.getSheet(0); int row = sheet.getRows(); int col = sheet.getColumns(); for (int i = 2; i < row; i++) { User user = new User(); for (int j = 0; j < col; j++) { Cell cell = sheet.getCell(j, i); if (cell.getType() == CellType.LABEL) { LabelCell lc = (LabelCell) cell; switch (j) { case 0: user.setYhm(lc.getContents()); case 1: user.setXm(lc.getContents()); } } if (cell.getType() == CellType.NUMBER) { NumberCell nc = (NumberCell) cell; user.setAge((int) nc.getValue()); } if (cell.getType() == CellType.DATE) { DateCell dc = (DateCell) cell; user.setSr(dc.getDate()); } } list.add(user); } log.info("读取excel成功!"); } catch (Exception e) { log.info("读取excel失敗!"); e.printStackTrace(); } return list; } static class Style { /** * 页头样式 */ public static WritableCellFormat getHeaderStyle() throws Exception { WritableFont font = new WritableFont(WritableFont.TIMES, 14); // 设置14号字体 font.setColour(Colour.BLUE); // 设置字体颜色 font.setBoldStyle(WritableFont.BOLD); // 设置粗体字 WritableCellFormat format = new WritableCellFormat(font); // 设置单元格样式 format.setBackground(Colour.LIGHT_GREEN); // 设置背景颜色 format.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK);//设置边界样式 format.setAlignment(Alignment.CENTRE); // 设置水平位置 format.setVerticalAlignment(VerticalAlignment.CENTRE); // 设置竖直位置 return format; } /** * 标题样式 */ public static WritableCellFormat getTitleStyle() throws Exception { WritableFont font = new WritableFont(WritableFont.TIMES, 14); font.setColour(Colour.GREEN); WritableCellFormat format = new WritableCellFormat(font); format.setBackground(Colour.VERY_LIGHT_YELLOW); format.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK); format.setAlignment(Alignment.CENTRE); format.setVerticalAlignment(VerticalAlignment.CENTRE); return format; } /** * 内容样式 */ public static WritableCellFormat getContentStyle() throws Exception { WritableFont font = new WritableFont(WritableFont.TIMES, 14); font.setColour(Colour.BLUE); WritableCellFormat format = new WritableCellFormat(font); format.setBackground(Colour.VERY_LIGHT_YELLOW); format.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK); format.setAlignment(Alignment.CENTRE); format.setVerticalAlignment(VerticalAlignment.CENTRE); return format; } /** * 普通样式 */ public static WritableCellFormat getNormalStyle() throws Exception { WritableFont font = new WritableFont(WritableFont.TIMES, 14); font.setColour(Colour.BLUE); WritableCellFormat format = new WritableCellFormat( DateFormats.FORMAT12); format.setBackground(Colour.VERY_LIGHT_YELLOW); format.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK); format.setAlignment(Alignment.CENTRE); format.setVerticalAlignment(VerticalAlignment.CENTRE); return format; } /** * 日期样式 */ public static WritableCellFormat getDateStyle() throws Exception { WritableFont font = new WritableFont(WritableFont.TIMES, 14); font.setColour(Colour.BLUE); WritableCellFormat format = new WritableCellFormat( DateFormats.FORMAT1); format.setBackground(Colour.VERY_LIGHT_YELLOW); format.setBorder(Border.ALL, BorderLineStyle.THIN, Colour.BLACK); format.setAlignment(Alignment.CENTRE); format.setVerticalAlignment(VerticalAlignment.CENTRE); return format; } } static class Operate { /** * 写入文本 */ public static void addLabelToSheet(WritableSheet ws, int col, int row, String cont, CellFormat format) throws Exception { Label label = new Label(col, row, cont, format); ws.addCell(label); } /** * 写入文本(合并后的单元格) */ public static void addLabelToSheet(WritableSheet ws, int firstCol, int firstRow, int lastCol, int lastRow, String cont, CellFormat format) throws Exception { ws.mergeCells(firstCol, firstRow, lastCol, lastRow); addLabelToSheet(ws, firstCol, firstRow, cont, format); } /** * 写入数字 */ public static void addLabelToSheet(WritableSheet ws, int col, int row, double num, CellFormat format) throws Exception { jxl.write.Number number = new jxl.write.Number(col, row, num, format); ws.addCell(number); } /** * 写入日期 */ public static void addLabelToSheet(WritableSheet ws, int col, int row, Date date, CellFormat format) throws Exception { DateTime dt = new DateTime(col, row, date, format, DateTime.GMT); ws.addCell(dt); } } static class User { private String yhm; private String xm; private int age; private Date sr; public String getYhm() { return yhm; } public void setYhm(String yhm) { this.yhm = yhm; } public String getXm() { return xm; } public void setXm(String xm) { this.xm = xm; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Date getSr() { return sr; } public void setSr(Date sr) { this.sr = sr; } } }
- jxl.jar (708.2 KB)
- 下载次数: 74
发表评论
-
Java MD5加密
2011-11-08 10:13 966获取MD5字符串 public static ... -
IE9不能访问TD的解决
2011-10-20 16:21 1813升级到Win7,随便也升级IE到9看看效果,有什么差别。 ... -
长短信实现系列之移动CMPP2.0
2011-08-19 11:28 12551)背景 目前我们 ... -
svn的服务器及客户端安装和配置
2010-04-29 17:33 1396一、svn服务器安装 1、 ... -
Java子类构造的执行顺序
2010-03-16 11:23 1300Java子类构造的完整执行顺序 package tes ... -
eclipse3.5导入myeclipse的web项目
2010-03-02 12:26 6556由于myeclipse插件收费,且感觉很臃肿,所以就想直接用e ... -
java解析xml文件
2010-02-05 21:24 957dom4j默认的读取和写入编码是ISO-8859-1 //读 ... -
MyEclipse中无法部署tomcat的原因
2009-12-25 10:47 3817原因:Context-root丢失 解决方法: 右 ... -
java删除指定目录中的文件或文件夹
2009-11-06 16:56 2603java删除指定目录中的文件或文件夹 package ... -
JfreeChart相关
2009-10-12 15:44 929加入jfreechart-1.0.13.jar,jcommon ... -
MyEclipse6.5不能自动编译问题
2009-09-09 16:53 2157选中了project中的自动编译选项,但还是不能自动编译的解决 ... -
equals和hashCode
2009-04-27 11:38 771正确的equals方法必须满足5个条件: 1)自反性,对任意x ... -
java对象池ObjectPool
2009-04-22 19:22 7920commons-pool提供了一套很 ... -
java多线程控制台聊天室
2009-04-11 23:04 7360用java多线程实现一个控制台聊天室,呵呵,好玩! 聊天室服 ... -
java堆栈应用之括号匹配
2009-03-11 22:02 3163java堆栈应用之括号匹配(jdk1.6): packag ...
相关推荐
总结来说,解决Java读取Excel内存溢出问题,关键在于合理利用资源、优化代码逻辑以及选择适合的API,如Apache POI的SXSSF。通过这些方法,我们可以在不显著增加系统资源负担的情况下,高效地处理大Excel文件。
Java读取Excel内容 v Java读取Excel内容 Java读取Excel内容
总结,Java读取Excel并进行数据库建库建表及生成Java实体的过程涉及了Apache POI库的使用、数据库操作和源代码生成。理解这些步骤可以帮助你有效地处理类似的任务,提高开发效率。在实际应用中,你还需要考虑错误...
java读取excel数据导入数据库源码 java读取excel数据导入数据库源码
### Java读取Excel表格中的日期 #### 背景与问题描述 在处理Excel文件时,经常遇到的一个问题是如何正确地识别并处理日期格式的数据。这是因为Excel中的日期格式较为复杂,有时甚至会出现不同版本的Excel文件中...
在Java编程中,读取Excel文件并生成矩阵是一项常见的任务,尤其在数据分析、报表处理或者数据导入导出的场景下。Excel文件通常用于存储结构化的表格数据,而矩阵则是一种有效的数据表示方式,便于计算和分析。下面...
"Java 读取 Excel 文件" Java 读取 Excel 文件是 Java 语言中常见的操作之一,通过使用 Apache POI 库,可以轻松地读取 Excel 文件中的数据。本文将通过 ReadExcelUtil 工具类,详细介绍如何读取 Excel 文件。 ...
java读写excel包括utf8转码为可识别汉字gbk,jxl方式读取excel,生成一个新的excel
标题"java读取excel之xlsl超大文件"所涉及的核心知识点是优化大量数据的读取策略。在Java中,可以使用Apache POI的SXSSF API(Streaming Usermodel API)来实现这种优化。与常规的XSSF API不同,SXSSF允许我们以流的...
在Java编程中,读取Excel数据是一项常见的任务,特别是在数据处理和分析的场景下。Excel文件通常包含多个工作表(页),每个工作表都可能存储了大量的数据。本篇将详细介绍如何使用Java读取Excel所有页的数据,以及...
在Java编程环境中,读取Excel文件是一项常见的任务,特别是在数据处理和分析的场景下。Excel文件,通常是.XLS或.XLSX格式,是Microsoft Office Excel创建的,但Java程序员可以利用一些库来处理这些文件,即使没有...
Java读取excel
在Java编程中,读取Excel文件的内容是一项常见的任务,尤其在数据处理、报表生成或数据分析等领域。Excel文件通常包含表格数据,而Java提供多种库来处理这类任务,比如Apache POI、JExcelApi和OpenCSV等。本篇将重点...
Java 读取 Excel 文件 Java 读取 Excel 文件是指使用 Java 语言从 Excel 文件中读取数据,并对其进行处理的过程。下面将详细介绍 Java 读取 Excel 文件的过程和相关知识点。 Java 读取 Excel 文件的步骤 1. 导入...
在Java编程环境中,读取Excel数据是一项常见的任务,特别是在数据处理、数据分析或系统集成的场景中。本示例中,我们关注的是如何使用Java来读取Excel表格中的数据,并将其保存,这通常涉及到Apache POI库的应用。...
java读写Excel,POI.JAR,Word内容读取
标题“非常简洁的java读写EXCEL源代码”以及描述中提到的“非常简单,还赠送个JXL的包”都暗示了我们将讨论如何使用JXL库进行Excel操作。 首先,让我们来了解JXL库。JXL是一个开源的Java库,用于读写Microsoft ...
Java读取Excel文件是开发过程中常见的任务,尤其是在处理数据导入导出、数据分析或者报表生成时。这个名为"java读取excel文件jar包20181223"的资源可能包含了一些帮助Java开发者实现这一功能的库。下面将详细讨论...
java读取Excel表中的内容,可以读取多个sheet,生成自定义格式的xml文件
在Java编程中,读取Excel文件是常见的任务,特别是在数据处理和分析的场景下。Excel文件格式有两种主要版本,即2003年的.xls(基于BIFF8格式)和2007年及以后的.xlsx(基于OpenXML标准)。本教程将详细讲解如何使用...