java-使用Java导出excel文档,为何数据库中int类型的导出不成功?

问题描述

使用Java导出excel文档,为何数据库中int类型的导出不成功?

导出工具类

 package com.lovefly.util;

import java.io.IOException;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.util.List;

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

import com.lovefly.service.api.excel.Excelable;

public class ExcelUtil<T extends Excelable> {
    private WritableWorkbook book ;
    private WritableSheet sheet;
    private int rowIndex = 0;
    List<String> attrs;
    List<T> poList;
    Class<T> clas;

    public ExcelUtil(OutputStream out,String name,List<String> attrs,List<T> poList,Class<T> c) throws IOException {
        book = Workbook.createWorkbook(out);
        sheet = book.createSheet(name, 0);
        this.attrs = attrs;
        this.poList = poList;
        clas = c;
    }

    private void writeBody() throws Exception {
        Label label = null;
        for(int i=0;i<poList.size();i++){
            for(int j=0;j<attrs.size();j++){
                Field field = clas.getDeclaredField(attrs.get(j));
                field.setAccessible(true);
                label = new Label(j,rowIndex,field.get(poList.get(i)).toString());
                sheet.addCell(label);
            }
            rowIndex++;
        }
    }

    private void writeTitle() throws Exception{
        Label label = null;
        for(int i=0;i<attrs.size();i++){
            label = new Label(i,rowIndex,clas.newInstance().getAttrTitleMapping().get(attrs.get(i)));
            sheet.addCell(label);
        }
        rowIndex++;
    }

    public void writeClose(){
        try {
            writeTitle();
            writeBody();
            book.write();
            book.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

解决方案

这个工具类,跟你是什么类型是没关系的
for(int j=0;j<attrs.size();j++){
Field field = clas.getDeclaredField(attrs.get(j));
field.setAccessible(true);
label = new Label(j,rowIndex,field.get(poList.get(i)).toString());
sheet.addCell(label);
}
Field field = clas.getDeclaredField(attrs.get(j)); 根据你传入的名称获得这个class的成员变量
比如我们传入了student 类 有id,age,name 三个属性

你的attrs 集合里面应该存入了attrs[0]="id",attrs[1]="age",attrs[2]="name"
假如j=0:现在的field=student.id;获取到了student.id成员变量;
field.get(poList.get(i))---获取class的成员变量的值
你传入的是student 类的集合,所以你可以获取到第一个student 的id的值
如果是int类型的值你做.tostring(),肯定不行的啊,int 是没有tostring()方法的

时间: 2024-08-20 16:00:04

java-使用Java导出excel文档,为何数据库中int类型的导出不成功?的相关文章

利用Java 创建和读取Excel文档

excel|创建 为了保证示例程序的运行,必须安装Java 2 sdk1.4.0 和Jakarta POI,Jakarta POI的Web站点是: http://jakarta.apache.org/poi/ 示例1将演示如何利用Jakarta POI API 创建Excel 文档. 示例1程序如下:import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.usermodel.HSSFSheet;im

Asp.net中如何导出Excel文档(Gridview)

主要思路,通过GridView来导出文档.新建一个Aspx页面,页面创建GridView控件,后台绑定好数据源. 然后load中直接打印即可导出 前台的GridView <asp:GridView ID="GridView1" BorderColor="Black" runat="server" AutoGenerateColumns="False" Font-Size="12px" Width=&q

WEB表格导出为EXCEL文档的方法

excel|web|excel   <script language="javascript"> function exportExcel(atblData){  if (typeof(EXPORT_OBJECT)!="object")   {      document.body.insertAdjacentHTML("afterBegin","<OBJECT style='display:none' classid

方法-JAVA:ECharts图表导出成excel文档

问题描述 JAVA:ECharts图表导出成excel文档 在JAVA程序中,用ECharts做的报表用什么方法导出成excel文档表格???急急急急 解决方案 参考:http://www.jb51.net/article/49343.htmhttp://www.w2bc.com/Article/2682

怎么用java实现doc文档模板插入数据和表格并导出?急急急,在线等

问题描述 怎么用java实现doc文档模板插入数据和表格并导出?急急急,在线等 我要实现一个模板导出功能,模板包含标题和文字内容,模板中间还有一个表格,和结尾文字.要实现动态添加标题文字,其中表格中内容部分动态添加数据,可能会有多种模板,区别是表格样子不同,都要添加内容,最后整个导出doc文件.有没有demo?各位大神?谢谢了先.下面图片中红色框住部分是要动态添加数据的地方,其他地方是模板原型. 解决方案 下面是我实现的方式,用poi工具. /** * * @param filePath 源文件

java导出pdf文档合并问题

问题描述 java导出pdf文档合并问题 需求:单个pdf能够导出,现在的问题就是如何实现在下载多个pdf文档时候实现pdf文档的合并 解决方案 Java和iText导出pdf文档使用java生成pdf文档(2)java生成pdf文档 解决方案二: 对于多个文档的操作为什么不考虑打包呢,使用ZIP打包就好了啊.如果你一定要将多个PDF文档合变成一个的话,那就写的时候指定从哪里开始写.

java-读取个Excel文档,再根据条件输出到txt里,用Java写,求大神相助

问题描述 读取个Excel文档,再根据条件输出到txt里,用Java写,求大神相助 读取个Excel文档,再根据条件输出到txt里,怎么控制输出格式呢,希望大神帮忙,了啦啦啦啦啦! 解决方案 用poi吧,先读取excel表格数据,然后再写入到txt里面; 给你个案例你看看 public class CreateExcel { private static List getstudent() throws Exception{ List list=new ArrayList(); SimpleDa

java-ECharts做的报表用什么方法导出成excel文档

问题描述 ECharts做的报表用什么方法导出成excel文档 在JAVA程序中,用ECharts做的报表用什么方法导出成excel文档表格???急急急急 解决方案 后台可以使用 POI 导出 解决方案二: 不知道报表在网页上是不是SVG的 如果是的话 找一个SVG转图像的Java库 然后再把生成的图像用POI放到excel中

php导出word文档与excel电子表格的简单示例代码

 本篇文章主要是对php导出word文档与excel电子表格的简单示例代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 生成word的代码:  代码如下:  header("Content-type: application/octet-stream");  header("Accept-Ranges: bytes");  header('Content-type: application/doc');  header('Content-Disposit