Java将list数据导出到Excel——(八)

Java实体类

 1 package bean;
 2
 3 public class Question {
 4
 5     private String timu; //题干
 6     private String leixing;  //类型
 7     private String axuanxiang;  //A选项
 8     private String bxuanxiang;   //B选项
 9     private String cxuanxiang;   //C选项
10     private String dxuanxiang;   //D选项
11     private String daan;          //答案
12     private String jiexi;        //解析
13     public String getTimu() {
14         return timu;
15     }
16     public void setTimu(String timu) {
17         this.timu = timu;
18     }
19     public String getLeixing() {
20         return leixing;
21     }
22     public void setLeixing(String leixing) {
23         this.leixing = leixing;
24     }
25
26     public String getAxuanxiang() {
27         return axuanxiang;
28     }
29     public void setAxuanxiang(String axuanxiang) {
30         this.axuanxiang = axuanxiang;
31     }
32     public String getBxuanxiang() {
33         return bxuanxiang;
34     }
35     public void setBxuanxiang(String bxuanxiang) {
36         this.bxuanxiang = bxuanxiang;
37     }
38     public String getCxuanxiang() {
39         return cxuanxiang;
40     }
41     public void setCxuanxiang(String cxuanxiang) {
42         this.cxuanxiang = cxuanxiang;
43     }
44     public String getDxuanxiang() {
45         return dxuanxiang;
46     }
47     public void setDxuanxiang(String dxuanxiang) {
48         this.dxuanxiang = dxuanxiang;
49     }
50     public String getDaan() {
51         return daan;
52     }
53     public void setDaan(String daan) {
54         this.daan = daan;
55     }
56     public String getJiexi() {
57         return jiexi;
58     }
59     public void setJiexi(String jiexi) {
60         this.jiexi = jiexi;
61     }
62     @Override
63     public String toString() {
64         return "Question [timu=" + timu + ", leixing=" + leixing + ", axuanxiang=" + axuanxiang + ", bxuanxiang="
65                 + bxuanxiang + ", cxuanxiang=" + cxuanxiang + ", dxuanxiang=" + dxuanxiang + ", daan=" + daan
66                 + ", jiexi=" + jiexi + "]";
67     }
68     public Question(String timu, String leixing, String axuanxiang, String bxuanxiang, String cxuanxiang,
69             String dxuanxiang, String daan, String jiexi) {
70         super();
71         this.timu = timu;
72         this.leixing = leixing;
73         this.axuanxiang = axuanxiang;
74         this.bxuanxiang = bxuanxiang;
75         this.cxuanxiang = cxuanxiang;
76         this.dxuanxiang = dxuanxiang;
77         this.daan = daan;
78         this.jiexi = jiexi;
79     }
80     public Question() {
81         super();
82     }
83
84
85
86 }

 导出Java

package Action.Excel2;

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

import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.eclipse.jdt.internal.compiler.ast.ThisReference;
import org.jdom.Attribute;
import org.jdom.Element;

import bean.Question;

public class GenerateExcelPaper {
    /**
     * 产生Excel试卷
     *@param list 题目集合
     */
    public static void exportExcelPaper(List<Question> list) {
        // 标题
        String[] title = { "题目", "类型", "A选项", "B选项", "C选项", "D选项", "答案", "解析" };
        // 创建一个工作簿
        HSSFWorkbook workbook = new HSSFWorkbook();
        // 创建一个工作表sheet
        HSSFSheet sheet = workbook.createSheet();
        // 设置列宽
        setColumnWidth(sheet, 8);
        // 创建第一行
        HSSFRow row = sheet.createRow(0);
        // 创建一个单元格
        HSSFCell cell = null;
        // 创建表头
        for (int i = 0; i < title.length; i++) {
            cell = row.createCell(i);
            // 设置样式
            HSSFCellStyle cellStyle = workbook.createCellStyle();
            cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 设置字体居中
            // 设置字体
            HSSFFont font = workbook.createFont();
            font.setFontName("宋体");
            font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);// 字体加粗
            // font.setFontHeight((short)12);
            font.setFontHeightInPoints((short) 13);
            cellStyle.setFont(font);
            cell.setCellStyle(cellStyle);

            cell.setCellValue(title[i]);
        }

        // 模拟数据
        /*List<Question> list = new ArrayList<>();
        list.add(new Question("你喜欢吃什么", "单选", "老司机", "方便吗", "辣条", "牛奶", "老司机", "我是老司机"));
        list.add(new Question("你喜欢吃什么", "单选", "老司机", "方便吗", "辣条", "牛奶", "老司机", "我是老司机"));
        list.add(new Question("你喜欢吃什么", "单选", "老司机", "方便吗", "辣条", "牛奶", "老司机", "我是老司机"));
        list.add(new Question("你喜欢吃什么", "单选", "老司机", "方便吗", "辣条", "牛奶", "老司机", "我是老司机"));
        list.add(new Question("你是人", "判断", "", "", "", "", "是", "我是老司机"));
        list.add(new Question("你是人", "判断", "", "", "", "", "是", "我是老司机"));*/
        System.out.println(list);
        // 从第二行开始追加数据
        for (int i = 1; i < (list.size() + 1); i++) {
            // 创建第i行
            HSSFRow nextRow = sheet.createRow(i);
            for (int j = 0; j < 8; j++) {
                Question eQuestion = list.get(i-1);
                HSSFCell cell2 = nextRow.createCell(j);
                if (j == 0) {
                    cell2.setCellValue( eQuestion.getTimu());
                }
                if (j == 1) {
                    cell2.setCellValue(eQuestion.getLeixing());
                }
                if (j == 2) {
                    cell2.setCellValue(eQuestion.getAxuanxiang());
                }
                if (j == 3) {
                    cell2.setCellValue(eQuestion.getBxuanxiang());
                }
                if (j == 4) {
                    cell2.setCellValue(eQuestion.getCxuanxiang());
                }
                if (j == 5) {
                    cell2.setCellValue(eQuestion.getDxuanxiang());
                }
                if (j == 6) {
                    cell2.setCellValue(eQuestion.getDaan());
                }
                if (j == 7) {
                    cell2.setCellValue(eQuestion.getJiexi());
                }
            }
        }

        // 创建一个文件
        File file = new File("E:/1.xls");
        try {
            file.createNewFile();
            // 打开文件流
            FileOutputStream outputStream = FileUtils.openOutputStream(file);
            workbook.write(outputStream);
            outputStream.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    // 设置列宽()
    private static void setColumnWidth(HSSFSheet sheet, int colNum) {
        for (int i = 0; i < colNum; i++) {
            int v = 0;
            v = Math.round(Float.parseFloat("15.0") * 37F);
            v = Math.round(Float.parseFloat("20.0") * 267.5F);
            sheet.setColumnWidth(i, v);
        }
    }

}

 测试:

时间: 2024-08-01 06:42:57

Java将list数据导出到Excel——(八)的相关文章

将datagrid中数据导出到excel中 -------&lt;&lt;工作日志2014-6-6&gt;&gt;

1.下载log4j jar包,放入lib目录, 导入项目中   下载地址 http://logging.apache.org/ 2.创建log4j.properties 文件  目录 Src  下面是一个 log4j.properties的例子(注:来源于网上,非本人所写) ################################################################################ # 其语法:log4j.rootLogger = [ leve

支持将数据导出到Excel文档的时候设置单元格格式的.NET控件Spire.DataExport

Spire.DataExport for .NET是e-iceblue公司推出的一款数据导出类.NET控件.作为一款专业的数据导出控件,Spire.DataExport for .NET可以帮助开发人员轻松快速的从各种主流数据库中导出数据并存储于各种文件格式中.他支持从SQL Command, DataTable,ListView中导出数据并存储于MS Excel,MS Word, HTML, XML, PDF, MS Access, DBF, SQL Script, SYLK, DIF, CS

数据导出至Excel文件--好库编程网http://code1.okbase.net/codefile/SerializeHelper.cs_2012122018724_118.htm

using System; using System.IO; using System.Data; using System.Collections; using System.Data.OleDb; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; /// <summary> /// Excel操作类 /// </summary> /// Microsoft Excel 11.0 Obj

tablib把数据导出为Excel、JSON、CSV等格式的Py库(写入数据并导出exl)

#tablib把数据导出为Excel.JSON.CSV等格式的Py库 #python 3 import tablib #定义列标题 headers = ('1列', '2列', '3列', '4列', '5列') #需写入的数据,按照一行一行的输入 #元组数据的个数必须和列数一致 data = [('23','23','34','23','34'),('sadf','23','sdf','23','fsad')] #写入数据 mylist = tablib.Dataset(*data, head

Delphi 数据导出到Excel

好多办公软件特别是财务软件,都需要配备把数据导出到Excel,下面就来介绍两种数据导出方法 1.ADODB导出查询结果(此方法需要安装Excel) 2.二维表数据导出(根据Excel文件结构生成二进制文件流,不需要安装Excel) 3.如果涉及到复杂表头的(例如合并字段等),未做研究,下面也没介绍相关资料,请止步. 第一种,ADODB导出查询结果(此方法需要安装Excel) //uses DB, ADODB, ComObj, ComCtrls, excel2000, StdCtrls, adoi

Qt中将QTableView中的数据导出为Excel文件

如果你在做一个报表类的程序,可能将内容导出为Excel文件是一项必须的功能.之前使用MFC的时候我就写过一个类,用于将grid中的数据导出为Excel文件.在使用了QtSql模块后,我很容易的将这个类改写应用在Qt程序中.类的名字叫“ExportExcelObject”.使用起来很简单: [cpp] view plaincopy // 1. declare an object // – fileName Excel 文件路径 // – sheetName Excel 工作表(sheet)名称 /

将数据库的数据导出到excel中

这篇文章主要介绍了asp中把数据导出为excel的2种方法:分别用excel组件.文件组件实现,需要的朋友可以参考下.我们在做项目的时候经常要将数据库的数据导出到excel中,很多asp用户并不知道怎么写.这里总结了两种方法来导出excel,希望能帮到大家. 方法一:用excel组件 方法二:使用文件组件 可以看出,第一种方法是直接导出的是excel文件,而第二张方法是到处的是文本文件,只不过后缀名改成了xls. 然后看起来就是excel了. 经过对比第一种方法的效率没有第二种方法的效率高,而且

C#创建Excel文件并将数据导出到Excel文件

C#创建Excel文件,这里实际上是从资源中提取一个事先创建好的Excel文件,文件提取成功后,使用OleDb方法连接Excel,向Excel文件中写入数据. 创建解决方案 菜单>新建>项目>Windows窗体应用程序: 添加相关组件: 添加两个DataGridView,一个TextBox,两个按钮 ,如下图: 添加Excel资源: 先在文件夹中新建一个Excel文件,在Sheet1表的第一行设置列名: 双击"Resources.resx"文件打开资源文件视图: 添加

使用原生php将数据库数据导出到excel文件中

最近在工作中遇到一个需求,需要将数据库中的数据导出到excel文件中,并下载excel文件.因为以前没做过,所以就百度了一下, 网上说的大多是使用PHPExcel类来操作excel文件,这还要去下载这个类才能使用,而我只想使用原生的php,不想那么麻烦,好在 也有网友说到关于原生php生成excel文件的方法,其实很简单,下面把我结合网上资料自己实践的代码分享一下. 一般我们这种导数据的操作都是通过用户在网页页面上点击某个按钮触发相应js方法,然后请求php接口来实现的,所以主要有两种 方法来完