jxl 读取xls,并转为二维数组可进行保存

简介:

jxl.jar: 

通过java操作excel表格的工具类库
支持Excel 95-2000的所有版本
生成Excel 2000标准格式
支持 字体、数字、日期操作
能够修饰单元格属性
支持图像和图表
应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。

  直接上代码:jxl操作xls其实很简单

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

import jxl.Cell;
import jxl.CellType;
import jxl.DateCell;
import jxl.LabelCell;
import jxl.Sheet;
import jxl.Workbook;

public class Jxl {
    // 以下是导入excel的一系列属性
    private static Sheet sheet;
    private static String[][] excelValue;

    public static void main(String[] args) {
        File upload = new File("D://1.xls");
        if (upload.exists()) {
            initExcel(upload); // 初始化
            readExcel(); // 读取
        } else {
            System.out.println("file is not found");
        }
        System.out.println(excelValue[1][1]);// 输出验证下是否存入二维数组
    }

    /**
     * 读取excel文件中数据,保存到sheet对象中
     * 
     * @param upload
     *            可以通用
     */
    private static void initExcel(File upload) {
        Workbook rwb = null;
        try {
            InputStream is = new FileInputStream(upload);
            rwb = Workbook.getWorkbook(is);
            // 获得第一个工作表对象
            sheet = rwb.getSheet(0);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 读取excel中数据进入excelValue数组中
     * 
     * 可以通用
     */
    private static void readExcel() {
        excelValue = new String[sheet.getRows()][sheet.getColumns()]; // 将行和列存储到二维数组中
        for (int i = 0; i < sheet.getRows(); i++)
            for (int j = 0; j < sheet.getColumns(); j++) {
                Cell cell = sheet.getCell(j, i);// 将工作表分成一块一块
                if ("".equals(cell.getContents().toString().trim())) {
                    excelValue[i][j] = "";
                }
                if (cell.getType() == CellType.LABEL) {
                    LabelCell labelcell = (LabelCell) cell;
                    excelValue[i][j] = labelcell.getString().trim();
                } else if (cell.getType() == CellType.NUMBER) {
                    excelValue[i][j] = cell.getContents();
                } else if (cell.getType() == CellType.DATE) {
                    DateCell datcell = (DateCell) cell;
                    excelValue[i][j] = datcell.getDate().toString();
                } else {
                    excelValue[i][j] = cell.getContents().toString().trim();
                }
            }
    }

}

相关文章
|
8月前
|
前端开发 JavaScript API
前端 excelex 包可将数据保存为 xls、xlsx、csv、txt 文件(支持单元格样式、合并单元格等)
前端 excelex 包可将数据保存为 xls、xlsx、csv、txt 文件(支持单元格样式、合并单元格等)
143 1
|
7月前
|
SQL Rust 数据挖掘
4秒读取50w行Excel数据
4秒读取50w行Excel数据
132 1
|
数据处理
R|批量循环处理同一格式文件-csv,txt,excel
R|批量循环处理同一格式文件-csv,txt,excel
130 0
|
数据处理 Python
多线程操作CSV文件并且将CSV文件转成XLSX文件
多线程操作CSV文件并且将CSV文件转成XLSX文件
252 0
Excel 文件的读取
在上面的代码中,首先导入第三方库 openpyxl。接着使用 load_workbook 方法来读取 Excel 文档,在使用 load_workbook 时,只需要向 load_workbook 方法传入要打开文档的名称即可。最后,可以通过 type 函数查看打开的文档的类型。文档 example.xlsx 的内容如下所示:
225 0
|
存储 数据格式 索引
【python基础教程】csv文件的写入与读取
CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本格式,用以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的文件。python自带了csv模块,专门用于处理csv文件的读取
383 0
【python基础教程】csv文件的写入与读取
Aspose.Cells 读取受保护的Excel
  最近遇到一个需求,要能够读取受密码保护的Excel内容,之前都是直接读取Excel中的数据,不需要做任何其他的处理.    当Excel双击的时候,需要输入密码,在使用Aspose.Cells 组件读取的时候就会报错 Workbook book = new Workbook(full...
1218 0
|
移动开发 索引 .NET
EpPlus读取生成Excel帮助类+读取csv帮助类+Aspose.Cells生成Excel帮助类
大部分功能逻辑都在,少量自定义异常类和扩展方法 ,可用类似代码自己替换 //EpPlus读取生成Excel帮助类+读取csv帮助类,epplus只支持开放的Excel文件格式:xlsx,不支持 xls格式 /* ==================...
1572 0