JAVA程序导出Excel表格

news/2024/7/21 3:51:52 标签: java, javase, excel, java编程, java初级

JAVA实现将数据库中的信息制作成Excel表格导出到本地指定目录下。

package com.yuanhe.export.util;

import java.io.FileOutputStream;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import com.yuanhe.export.dao.impl.ExportTableDaoImpl;
import com.yuanhe.export.entity.Insurance;

/**
 * 导出Excel表格工具类
 * @author wangliping
 */
public class ExportExcel {
    public static int exportExcel(List<Insurance> list){
        ExportTableDaoImpl exportTableDaoImpl=new ExportTableDaoImpl();

        //第一步,创建一个webbook,对应一个Excel文件
        HSSFWorkbook wb = new HSSFWorkbook();
        //获取当前时间,用作excel表名称及工作表表名
        Date date = new Date();
        DateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
        String dateStr = sdf.format(date);
        String name="表格信息"+dateStr;

        //第二步,在webbook中添加一个sheet工作表,对应Excel文件中的sheet
        HSSFSheet sheet = wb.createSheet(name);

        //第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short  
        HSSFRow row = sheet.createRow(0);  

        //第四步,创建单元格,并设置值表头设置表头居中  
        HSSFCellStyle style = wb.createCellStyle();  
        style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式  
        HSSFCell cell = row.createCell(0);
        //创建表头信息数组
        String [] title = new String[]{"姓名","性别","身份证号","年龄","手机号","QQ号","微信号"};
        //循环添加表头
        for (int i = 0; i < title.length; i++) {
            cell.setCellValue(title[i].toString());//赋值  
            cell.setCellStyle(style);//设置样式  
            cell = row.createCell(i+1);//添加位置
        } 
        List<Insurance> FormList=list;
        //第四步,创建单元格,并设置值 
        for (int i = 0; i < list.size(); i++) {
            row = sheet.createRow(i+1);  
            row.createCell(0).setCellValue(FormList.get(i).getName());
            row.createCell(1).setCellValue(FormList.get(i).getSex());
            row.createCell(2).setCellValue(FormList.get(i).getuserID());
            row.createCell(3).setCellValue(FormList.get(i).getAge());
            row.createCell(4).setCellValue(FormList.get(i).getuserPhone());
            row.createCell(5).setCellValue(FormList.get(i).getuserQQ());
            row.createCell(6).setCellValue(FormList.get(i).getuserWeChat());
        }
        try{  
            // 第六步,将文件存到指定位置  
            FileOutputStream fot = new FileOutputStream("E:/"+name+".xls");   
            wb.write(fot);  
            fot.close();
            result=1;
        }catch (Exception e){  
            e.printStackTrace();
            result=0;
        }  
        return result;
    }  
}

http://www.niftyadmin.cn/n/1481044.html

相关文章

计算经纬度距离 sql

SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;

网站前端优化一些小经验

/***作者&#xff1a;张荣华*日期&#xff1a;2008-12-01**/ 乘着第3届d2论坛的顺利结束的秋风,我也来分享一下自己在前端优化方面的一些些小经验,其实这些经验本身都是来自yahoo的优化原则,不过经过ahuaxuan自身的实践和再次的思考,把原来的原则都进行了分组和分析.不过由于ah…

Mysql数据库将同一表中的A字段数据复制到B字段

将同一数据库同一表中的A字段上的信息复制保存到B字段上&#xff0c;但是如果B字段有数据就不复制&#xff0c;只复制内容为空的行。 UPDATE 表名 SET 字段B 字段A WHERE 字段B IS NULL;

lseek, fallocate来快速创建一个空洞文件,lseek不占用空间,fallocate占用空间(快速预分配)。...

在开发过程中有时候需要为某个文件快速地分配固定大小的磁盘空间&#xff0c;为什么要这样做呢&#xff1f;&#xff08;1&#xff09;可以让文件尽可能的占用连续的磁盘扇区&#xff0c;减少后续写入和读取文件时的磁盘寻道开销&#xff1b;&#xff08;2&#xff09;迅速占用…

\r \n \t

\n 软回车&#xff1a; 在Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的 \r 的效果。 在Linux、unix 中只表示换行&#xff0c;但不会回到下一行的开始位置。 \r 软空格&#xff1a; 在Linux、unix 中表示返回到当行的最开始位置。 …

Swing技术学习下载教程

Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包&#xff08;AWT&#xff09;为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。工具包中所有的…

PHP sprintf() 函数

sprintf() 函数把格式化的字符串写入一个变量中。 使用&#xff1a;如在应用中经常想要得到一定的格式的数据&#xff0c;例如&#xff0c;想要得到一个8位的16进制的数字&#xff0c;不足的在前面用0补齐&#xff0c;使用方法如下&#xff1a; $userId 123; sprintf(%08x,…

iOS开发提醒用户更新软件

2019独角兽企业重金招聘Python工程师标准>>> #define kStoreAppId “xxxxxxxxx” // &#xff08;appid数字串&#xff09;-(void)checkAppUpdate {NSDictionary *infoDict [[NSBundle mainBundle] infoDictionary];NSString *nowVersion [i…