表格操作

来源:互联网 发布:linux系统入门学习 编辑:程序博客网 时间:2024/05/16 12:53

感觉现在poi用的比jxl较多,jxl相对过时,本人在操作过程中,发现jxl不能操作doc文件,以及只适用于版本比较低的excel,郁闷。虽然没有比对jxl和poi的性能,但是对于现在的计算机性能,感觉也差不了多少(说话很不负责任)。后期要考虑转入poi阵营

转载了一篇关于pio和jxl的性能对比博客:
http://blog.csdn.net/Demodan/article/details/78774621

下面给出的是关于jxl的简单操作:

package com.zd.excel.demo;import jxl.Cell;import jxl.Sheet;import jxl.Workbook;import jxl.format.CellFormat;import jxl.read.biff.BiffException;import jxl.write.*;import java.io.*;/** *  表格工具类 * 1.创建excel表 * 2.读取excel表 * * Created by ZD on 2017/12/11. */public class ExcelUtils {    /**     * 读取文档内容,将其写入excel表格中     * 行读取     */    public static void writeExcel(File file) throws IOException, WriteException {        //1,创建workbook        WritableWorkbook workbook = Workbook.createWorkbook(new File("test.xls"));        //2. 创建sheet        WritableSheet sheet = workbook.createSheet("全国地区代码",0);        //3. 设置表标题字体大小        WritableFont writableFont = new WritableFont(WritableFont.ARIAL,20,WritableFont.BOLD);        //4. 设置表标题单元格格式        CellFormat cellFormat = new WritableCellFormat(writableFont);        //5.创建label,用于存放标题        Label header = new Label(0,0,"全国地区代码",cellFormat);        sheet.addCell(header);        //6.创建表头        Label id = new Label(0,1,"编号",cellFormat);        sheet.addCell(id);        Label code = new Label(1,1,"代码",cellFormat);        sheet.addCell(code);        Label name = new Label(2,1,"名称",cellFormat);        sheet.addCell(name);        //7.读取文件,写入表格       // File file = new File("test.txt");        if (!file.exists())            return;        //乱码问题        InputStream inputStream = new FileInputStream(file);        InputStreamReader fileReader = new InputStreamReader(inputStream,"GBK");       // FileReader fileReader = new FileReader(file);        BufferedReader bufferedReader = new BufferedReader(fileReader);        String line;        Label label = null;        //如果输入流读取到文档文本行        for (int i = 1; (line = bufferedReader.readLine())!=null; i++){            line = line.trim();            //拆分字符串,如果读取的行中不包含有数值格式,则返回本次循环            if (!line.matches("^[0-9].*")) {                //结束本次循环                i--;                continue;            }            //拆分字符串-地区代码            String icode = line.substring(0,4);            //拆分字符串-地区名称            String[] names = line.split("[0-9]*");            StringBuilder iname = new StringBuilder();            for (int z = 0; z < names.length; z++){                if (names[z].equals("")||names[z].equals("\t"))                    continue;                iname.append(names[z]);            }            //加入编号            label = new Label(0,i+1,i+"");            sheet.addCell(label);            //加入地区代码            label = new Label(1,i+1,icode.toString());            sheet.addCell(label);            //加入地区名称            label = new Label(2,i+1,iname.toString());            sheet.addCell(label);        }        workbook.write();        bufferedReader.close();        fileReader.close();        workbook.close();    }    /**     * 从excel表中读取信息,将其写入txt中     * @param file     * @throws IOException     * @throws BiffException     */    private static void readExcel(File file) throws IOException, BiffException {        //1.创建workbook        Workbook workbook = Workbook.getWorkbook(file);        //2.获取sheet        Sheet sheet = workbook.getSheet(0);        //3.获取所有行数        int rows = sheet.getRows();        //4.一行对应的所有单元格        Cell[] cells = null;        File writeFile = new File("write.txt");        if (!writeFile.exists())            writeFile.createNewFile();        FileWriter fileWriter = new FileWriter(writeFile);        BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);        for (int i = 0; i < rows; i++){            cells = sheet.getRow(i);            for (Cell cell:cells){                bufferedWriter.write(cell.getContents());                bufferedWriter.write(" ");            }            bufferedWriter.newLine();        }        bufferedWriter.flush();        fileWriter.flush();        bufferedWriter.close();        fileWriter.close();        workbook.close();    }    public static void main(String[] args) throws IOException, WriteException, BiffException {        System.out.println("1.读取txt文件创建excel表:");        File file = new File("test.txt");        writeExcel(file);        System.out.println("2.读取excel表格内容:");        File excel = new File("test.xls");        readExcel(excel);    }}
原创粉丝点击