简单地从数据库查询数据使用poi插入创建excel(代码片段)

dhome dhome     2023-01-04     219

关键词:

本次使用到的jar包

  技术分享图片

代码

public class CreateExcel01 

    // 数据库查询
    public static List<Account> query() 
        String sql = "select * from tb_account";
        List<Account> list = BaseDao.findRows(sql, null, Account.class);
        return list;
    

    // 创建Excel
    public static void createExcel()
        try 
            // 获取桌面路径
            FileSystemView fsv = FileSystemView.getFileSystemView();
            String desktop = fsv.getHomeDirectory().getPath();
            String filePath = desktop + "/account.xls";

            File file = new File(filePath);
            OutputStream outputStream = new FileOutputStream(file);
            HSSFWorkbook workbook = new HSSFWorkbook();
            // 创建一个工作表
            HSSFSheet sheet = workbook.createSheet("Sheet1");
            // 创建首行/头(第0行开始)
            HSSFRow head = sheet.createRow(0);
            String[] header = new String[]"账户id","账户名称","账户类型","账户金额","账户备注","创建时间","用户id","更新时间";
            for (int i=0;i<header.length;i++)
                // 设置首行信息
                head.createCell(i).setCellValue(header[i]);
            
            head.setHeightInPoints(20); // 设置行的高度

            // 从数据查询返回的集合
            List<Account> accounts=query();

            // 日期格式化
            HSSFCellStyle cellStyle2 = workbook.createCellStyle();
            HSSFCreationHelper creationHelper = workbook.getCreationHelper();
            // 设置日期格式
            cellStyle2.setDataFormat(creationHelper.createDataFormat().getFormat("yyyy-MM-dd HH:mm:ss"));
            sheet.setColumnWidth(3, 15 * 256);
            sheet.setColumnWidth(5, 20 * 256);
            sheet.setColumnWidth(7, 20 * 256);// 设置列的宽度

            // 保留两位小数
            HSSFCellStyle cellStyle3 = workbook.createCellStyle();
            cellStyle3.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00"));

            for(int i=0;i<accounts.size();i++) 
                // 创建行(从第一行开始)
                HSSFRow row1 = sheet.createRow(i + 1);
                // id
                row1.createCell(0).setCellValue(accounts.get(i).getId());
                // 账户名称
                row1.createCell(1).setCellValue(accounts.get(i).getAccountName());
                // 账户类型
                row1.createCell(2).setCellValue(accounts.get(i).getAccountType());

                // 账户金额(保留两位小数)
                HSSFCell money = row1.createCell(3);
                money.setCellStyle(cellStyle3);
                money.setCellValue(accounts.get(i).getMoney());

                // 账户备注
                row1.createCell(4).setCellValue(accounts.get(i).getRemark());

                // 创建时间(格式化时间)
                HSSFCell date1 = row1.createCell(5);
                date1.setCellStyle(cellStyle2);
                date1.setCellValue(accounts.get(i).getCreateTime());

                // 用户id
                row1.createCell(6).setCellValue(accounts.get(i).getUid());

                // 更新时间
                HSSFCell date2 = row1.createCell(7);
                date2.setCellStyle(cellStyle2);
                date2.setCellValue(accounts.get(i).getUpdateTime());
            
            workbook.setActiveSheet(0);
            workbook.write(outputStream);
            outputStream.close();
         catch (IOException e1) 
            e1.printStackTrace();
        
    

 

poi创建excel时,能插入雷达图和柱形图吗

参考技术A先用excel做一个模板,再用poi写入数据,啥都能做 查看详情

java使用poi操作excel(代码片段)

...的生成数据报表,数据批量上传,数据备份等工作。一.简单使用1.创建Maven工程导入POI坐标<!--poi相关--> 查看详情

jxl的使用,从excel插入数据以及读取数据

...POI及jxl.Jxl方便快捷,POI用于对复杂Excel的操作。以下为写数据进入excel的代码publicstaticvoidaddDataToExcel(String[]dataArr,Stringfilepath)throwsIOException,Rows 查看详情

解析excel数据(代码片段)

解析Excel数据常用的方式就是使用POI和JXL工具了,这两种工具使用起来有些类似,这里记录一下使用方式提供个参考POI使用Filefile=newFile(filePath);FileInputStreamfis=newFileInputStream(file);workbook=WorkbookFactory.create(fis);//poi3.6使用一下方式创... 查看详情

poi创建excel数据(代码片段)

  publicstaticvoidmain(String[]args)throwsException//TODO设置excel的标题List<String>excelHeader=newArrayList<String>();excelHeader.add("访客数");excelHeader.add("浏览量");//TODO创建bookHSSFW 查看详情

用java和poi怎么创建一个excel,然后写入数据;还有怎么在原有的一个excel里添加数据(原有数据的)?

...g(HSSFCell.ENCODING_UTF_16);cell.setCellValue("姓");这个是最简单的一个例子,下面的参考资料你可以看看....对于新使用者很不错,介绍也很详细,希望能够帮到你参考资料:http://wenku.baidu.com/view/6c5825660b1c59eef8c7b47e.html参考技术A楼... 查看详情

java使用poi包,向excel中写入批量数据

有一个数据库的表,字段都是String,取一下字段写入Excel中学号姓名学院专业班级年龄地址······1小铭信息学院计算机系计算机(1)班19北京中关村······2小花艺术学院音乐系音乐表演(1)班18北京王府井大街······3小... 查看详情

更高效地从 qtableWidget 更新和插入 MYSQL 数据库

】更高效地从qtableWidget更新和插入MYSQL数据库【英文标题】:UpdateandinsertfromqtableWidgetintoMYSQLdatabasemoreefficiently【发布时间】:2021-12-2909:29:02【问题描述】:我正在使用PyQt5构建一个桌面应用程序,用于连接、加载数据、将数据插... 查看详情

poi对excel的基本操作

1.创建简单excelpublicstaticvoidmain(String[]args)throwsException{Workbookwb=newHSSFWorkbook();Sheets1=wb.createSheet("第一个sheet页");//创建Sheet页Rowrow=s1.createRow(0);//创建数据行Cellcell=row.createCell(0);//创建单元格 查看详情

poi之sxssfworkbook大量数据导出至excel

...存溢出的,就只有SXSSFWorkbook了。      它的原理很简单,用硬盘空间换内存(就 查看详情

java大概1000w数据导出成excel有啥好的建议。(最好是插件,poi、jxl、fastexcel已试过,数据量太大,不

...业的话,内存很难受。考虑分批,追加写入的方式,对于简单的字节字符流文件是可取的。然而写成excel这种结构化的文件格式应该是没办法胜任了,追加写入时往往需要事先获知文件的结构信息,然后找到相应的位置进行插入... 查看详情

poi动态生成excel

...OI提供API给Java程序对MicrosoftOffice格式档案读和写的功能”简单来说就是通过它的API可以进行创建/读取文档,sheet,行列单元格等操作,也可以设置文档的各个样式。刚接触这个任务的时候查了很多资料,最后主要是参考了这篇文... 查看详情

python使用sqlalchemy连接数据库并创建数据表插入数据删除数据更新表查询表(crud)

Python使用SQLAlchemy连接数据库并创建数据表、插入数据、删除数据、更新表、查询表(CRUD)目录Python使用SQLAlchemy连接数据库并创建数据表#SQLAlchemy#sqlalchemy安装 查看详情

简单poi创建execl

Workbookworkbook=newHSSFWorkbook();//创建一个Excel文件Workbookworkbook=newXSSFWorkbook();//创建一个Excel文件Sheetsheet=workbook.createSheet();//创建一个Excel的Sheetsheet.createFreezePane(1,5);//绿色的线条,死线sheet.setColumn 查看详情

10w行级别数据的excel导入优化记录(代码片段)

...循环遍历,在循环中进行以下步骤检验字段长度一些查询数据库的校验,比如校验当前行欠费对应的房屋是否在系统中存在,需要查询房屋 查看详情

已解决 在 MySQL/Python 中使用转义字符创建插入查询

...1-10-3008:40:32【问题描述】:我正在编写一个将数据从Access数据库传输到MySQL数据库的脚本。我正在尝试生成类似于以下的查询:INSERTinto 查看详情

java利用poi技术导入批量excel数据,并且分段存入数据库怎么解决

注意引入的都是poi的包,使用Cell,excel2003的.xls对应是HSSFCell,而之后的xlsx对应的则是XSSFCell,但是他们都继承于Cell,所以使用Cell就可以使用两种格式的excel导入了,下面解决excel中数据的各种格式[java]viewplaincopy//读取exceltryreques... 查看详情

使用 VBA 更改美国日期从 Excel 插入 Access 数据库的日期

】使用VBA更改美国日期从Excel插入Access数据库的日期【英文标题】:DateinsertedintoAccessDatabasefromExcelusingVBAchangestoUSdate【发布时间】:2012-12-0313:39:03【问题描述】:所以我使用VBA生成的查询将一堆记录从Excel电子表格插入到Access数据... 查看详情