博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jxl导出excel
阅读量:5807 次
发布时间:2019-06-18

本文共 4290 字,大约阅读时间需要 14 分钟。

hot3.png

import java.io.File;

import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

import jxl.Workbook;

import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class WriteExcelTable {

    Logger log = Logger.getLogger(this.getClass().getName());
    public String createWrokBook(String templateFile, String newFilePath, String newFileName, List<String[]> param){
        String newFilePathName = newFilePath + "/" + newFileName;
        try{
            boolean b1 = creFile(newFilePathName);
            if(b1){
                FileOutputStream fileOutputStream = new FileOutputStream(new File(newFilePathName));
                WritableWorkbook writableWorkbook = Workbook.createWorkbook(fileOutputStream);
                WritableSheet writableSheet = creSheet(writableWorkbook, "sheet1", 0);
                try{
                    for (int i = 0; i < param.size(); i++) {
                        for (int j = 0; j < ((String[])param.get(i)).length; j++) {
                            String tep = ((String[])param.get(i))[j];
                            Label label = creLabel(j, i, tep);
                            writableSheet.addCell(label);
                        }
                    }
                    writableWorkbook.write();
                } catch (Exception e) {
                    e.printStackTrace();
                } finally {
                    writableWorkbook.close();
                    fileOutputStream.flush();
                    fileOutputStream.close();
                }
            }
        } catch (Exception e) {
          e.printStackTrace();
        }
        return newFilePathName;
    }
    
    private boolean creFile(String filePathName){
        boolean mesg = false;
        try {
            File file = new File(filePathName);
            if (!file.exists()) {
                file.createNewFile();
            }
            mesg = true;
            if (file.isFile())
                mesg = true;
            else
            mesg = false;
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return mesg;
    }

    private WritableSheet creSheet(WritableWorkbook workbook, String sheetName, int count){

        WritableSheet sheet = null;
        try {
            sheet = workbook.createSheet(sheetName, count);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return sheet;
    }

    private Label creLabel(int col, int rol, String context){

        Label label = null;
        try {
            label = new Label(col, rol, context);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return label;
      }

    public static void main(String[] args)throws Exception{

        try{
            String[] arr1 = { "標題1", "標題2", "標題3", "標題4", "標題5", "標題6", "標題7", "標題8", "標題9" };
            String[] arr2 = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };
            List list = new ArrayList();
            list.add(arr1);
            list.add(arr2);
            WriteExcelTable w = new WriteExcelTable();
            w.createWrokBook("", "D:\\", "123.xls", list);
            System.out.println("over");
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
--補充2017/12/13

剛剛看見一片文章寫得確實不錯,自己也敲了一遍。放在這裡分享

源代碼地址:https://www.cnblogs.com/linjiqin/p/3540266.html

1、jxl导入/导出excel案例黏贴即可运行

package junit.test;import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.List;import jxl.Cell;import jxl.Sheet;import jxl.Workbook;import jxl.write.Label;import jxl.write.Number;import jxl.write.WritableImage;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;import jxl.write.WriteException;import org.apache.commons.lang3.math.NumberUtils;import org.junit.Test;/** * Excel导入导出 *  * @author 林计钦 * @version 1.0 Feb 7, 2014 4:14:51 PM */public class ExcelTest {    /**     * 导入(导入到内存)     */    @Test    public void importExcel() {        Workbook book = null;        try {            book = Workbook.getWorkbook(new File("D:/test/测试.xls"));            // 获得第一个工作表对象            Sheet sheet = book.getSheet(0);            int rows=sheet.getRows();            int columns=sheet.getColumns();            // 遍历每行每列的单元格            for(int i=0;i
stuList=queryStudentList(); if(stuList!=null && !stuList.isEmpty()){ for(int i=0; i
stuList=new ArrayList
(); // 遍历每行每列的单元格 for(int i=0;i
queryStudentList(){ List
stuList=new ArrayList
(); stuList.add(new Student("zhangsan", 20)); stuList.add(new Student("lisi", 25)); stuList.add(new Student("wangwu", 30)); return stuList; } public class Student { private String name; private int age; public Student() { } public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }}

转载于:https://my.oschina.net/u/3720860/blog/1560239

你可能感兴趣的文章
git reset 三种用法总结
查看>>
hdfs笔记
查看>>
虚拟机新增加硬盘,不用重启读到新加的硬盘
查看>>
Java IO流详尽解析
查看>>
邮件服务系列之四基于虚拟用户的虚拟域的邮件系统(安装courier-authlib以及部分配置方法)...
查看>>
Linux VSFTP服务器
查看>>
DHCP中继数据包互联网周游记
查看>>
Squid 反向代理服务器配置
查看>>
Java I/O操作
查看>>
Tomcat性能调优
查看>>
项目管理心得
查看>>
Android自学--一篇文章基本掌握所有的常用View组件
查看>>
灰度图像和彩色图像
查看>>
通过vb.net 和NPOI实现对excel的读操作
查看>>
TCP segmentation offload
查看>>
java数据类型
查看>>
数据结构——串的朴素模式和KMP匹配算法
查看>>
FreeMarker-Built-ins for strings
查看>>
验证DataGridView控件的数据输入
查看>>
POJ1033
查看>>