`

应用jxl框架进行Excel文件解析

阅读更多

1、在项目开发过程中需要将Excel文件导入到数据库中,应用到jxl.jar 进行解析

2、如下

  1. package test;
  2. import java.io.File;
  3. import java.io.IOException;
  4. import java.io.UnsupportedEncodingException;
  5. import javax.servlet.http.HttpServletResponse;
  6. import jxl.Sheet;
  7. import jxl.Workbook;
  8. import jxl.WorkbookSettings;
  9. import jxl.read.biff.BiffException;
  10. import jxl.write.Label;
  11. import jxl.write.WritableSheet;
  12. import jxl.write.WritableWorkbook;
  13. import jxl.write.WriteException;
  14. public class JxlTest {
  15.     public static void main(String[] args) {
  16.         (new JxlTest()).excelRead();
  17.     }
  18.     public void excelRead(){
  19.         File file = new File("d:\\cicc825.xls");
  20.         try {
  21.             WorkbookSettings workbookSettings=new WorkbookSettings();
  22.             workbookSettings.setEncoding("ISO-8859-1"); //关键代码,解决中文乱码
  23.             Workbook book= Workbook.getWorkbook(file,workbookSettings);
  24.             //Workbook book= Workbook.getWorkbook(file);
  25.             Sheet sheet=book.getSheet(0); 
  26.             int row = sheet.getRows();
  27.             int column =sheet.getColumns();
  28.             for(int i=0;i<row;i++){
  29.                 for(int j=0;j<column;j++){
  30.                     System.out.println(sheet.getCell(j, i).getContents());
  31.                 }
  32.             }
  33.         } catch (BiffException e) {
  34.             e.printStackTrace();
  35.         } catch (IOException e) {
  36.             e.printStackTrace();
  37.         }
  38.     }
  39.     
  40.     public void excelWrite(HttpServletResponse response) {
  41.         long time = System.currentTimeMillis();// 用当前的系统时间作为默认表名
  42.         String name = String.valueOf(time);
  43.         name ="position";
  44.         String pathName = name + ".xls";
  45.         try {
  46.             pathName = new String(pathName.getBytes(), "ISO-8859-1");
  47.         } catch (UnsupportedEncodingException e) {
  48.             e.printStackTrace();
  49.         }
  50.         // 获取弹出保存框的保存路径和表名
  51.         response.setContentType("APPLICATION/OCTET-STREAM");
  52.         response.setHeader("Content-Disposition""attachment; filename=\"" + pathName + "\"");
  53.         
  54.         WritableWorkbook workbook;
  55.         WorkbookSettings   workbookSettings=new   WorkbookSettings(); 
  56.         workbookSettings.setEncoding("GB2312");
  57.         try {
  58.             workbook = Workbook.createWorkbook(response.getOutputStream(),workbookSettings);
  59.             WritableSheet ws = workbook.createSheet("sheet 1"0);
  60.             ws.setColumnView(0,22);
  61.             Label cell = null;
  62.             for(int i=0;i<2;i++){
  63.                 cell = new Label(0, i+1"id");
  64.                 ws.addCell(cell);
  65.                 cell = new Label(1, i+1"name");
  66.                 ws.addCell(cell);
  67.                 
  68.             }
  69.             workbook.write();
  70.             workbook.close();   // 一定要关闭, 否则没有保存Excel;
  71.         } catch (IOException e) {
  72.             e.printStackTrace();
  73.         }catch (WriteException e) {
  74.             e.printStackTrace();
  75.         } 
  76.         
  77.     }
  78.     
  79. }

3、解析过程还是比较简单的。

分享到:
评论

相关推荐

    JAVA 解析 Excel 工具 Java 解析、生成 Excel 比较有名的框架有 Apache poi、jxl.zip

    JAVA 解析 Excel 工具 Java 解析、生成 Excel 比较有名的框架有 Apache poi、jxl.zip

    JAVA 解析 Excel 工具 Java 解析、生成 Excel 比较有名的框架.rar

    Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full gc。 EasyExcel是...

    EasyExcel JAVA解析Excel工具.rar

    Java解析、生成Excel比较有名的框架有Apache poi、jxl,但他们都存在一个严重的问题就是非常的耗内存。 EasyExcel 重写了poi,使一个3M的excel只需要几M内存,并且再大的excel不会出现内存溢出。 64M内存1分钟内...

    EasyExcel是一个快速、简洁、解决大文件内存溢出的java处理Excel工具 .rar

    其中Apache POI基于DOM方式进行解析,将文件直接加载内存,所以速度较快,适合Excel文件数据量不大的应用场景; EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。他能让你在不用考虑...

    快速、简洁、解决大文件内存溢出的java处理Excel工具 .rar

    Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full gc。 EasyExcel是...

    Chat2DB 智能数据库客户端,数据报表工具,自然语言生成SQL,生成报表

    Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及...

    EasyExcel(生成Excel报表)基本操作.pdf

    Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及...

    阿里EasyExcel的操作.pdf

    Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及...

    easyexcel:快速,简单避免OOM的java处理Excel工具

    EasyExcel 因为公司不方便用QQ,所以建议加钉钉群JAVA解析Excel工具EasyExcel 但他们都存在一个严重的问题就是非常的耗电量,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是Java解析...

    easyexcel-1.1.2-beta5.jar

    Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及...

    easyexcel处理jar包

    ava解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及...

    快速简单避免OOM的java处理Excel工具

    Java解析、生成Excel比较有名的框架有Apache poi、jxl。

    Android代码-easyexcel

    Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及...

    java开发常用jar包

    Sitemesh 是一个基于WEB页面的布局、装饰以及应用整合的开源框架。它能帮助我们在由大量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的 banner,一致的版权,等等。它不仅仅能处理动态的内容,...

    web项目常用jar包及说明.zip

    Struts 2需要的jar包: 1.commons-fileupload.jar(commons项目中的关于文件上传的包, struts...excel表格:jxl.jar 操作pdf文件:iText-5.0.5.jar 统计图(JFreechart两个):jcommon-1.0.10.jar,jfreechart-1.0.6.jar

Global site tag (gtag.js) - Google Analytics