java jdk8 导出pgc格式/mdb格式_java8 导出-程序员宅基地

技术标签: java  

前言:总体流程来说数据库数据导出到pgc其实并不复杂,只需要导出mdb格式最后修改文件后缀名为pgc格式即可,下面就是jdk8导出mdb格式的流程:(如有雷同纯属意外,我也是在csdn上看了很多文章总结 属于自己的一套工具类)

public class AccessUtil{ 
      
      //这个路径是需要自己定义的导出路径和文件名称,
      //我不知道能否使用默认的,就自己写了方便自己后续查找 
        
      String dbPath = "F:/NewDB.mdb" 
      
      //我使用的方法是先创建Access链接,然后再往里面编辑表信息 
      public void buiderAccess()throw Exception{ 
      
          //DatabaseBuilder.create 这个方法顾名思义是创建,
          //里面还有一个open会用到在下面会详细说明 
          //创建Database链接 
     
          Database db = DatabaseBuilder.create(Database.FileFormat.V2000, New File(dbPath);                  
          {
     
          //这是定义表和表中的字段并创建最后的.toTable才是创建 
       
           Table table = new TableBuilder("表名")
                                .addColumn(new ColumnBuilder("字段名")
                                .setSQLType(Types.VARCHAR"这里是字段类型")
                                .tocolumn())
                                .toTable(db); 
        
            //到这里最基本的创建mdb文件并且在其中创建表已经完成了 
            
            //table.addRow(); 这个方便里面只能添加字符串并且字段对应的值用 , 隔开 
        
            table.addRow("字段值1,字段值2,字段值3"); 
            } 
            //close;
            db.close;
        } 

} 

        到这里最基本的创建mdb已经完成了,但这并不能满足公司的要求,毕竟我们要导出的不只是一张表,一个表中也不只是那几个字段和值,手写的话很麻烦,下面就是我带来的进阶版,代码不一定是性能最好的,但是却能完成多表的创建和字段赋值。

        其实创建多表也没有很麻烦,整体思路就是,根据创建链接发现DatabaseBuilder里另有一个open方法,create是创建,open就是打开了,我们先根据创建文件的路径打开文件然后进行编辑,代码如下:


    /**
     * tableName 表名
     * columnName 字段名
     * columnValue 字段值
     * dbpath 文件路径
     */
    public void openMDB (String tableName,List<String> columnNames,List<String> columnNames)throw Excpetion{
        //首先打开mdb文件
        //注意open() 方法中的参数和create()中不一样
        Database db = DatabaseBuilder.open(new File(dbPath));{
            
            //创建tableBuilder
            TableBuilder tableBuilder = new TableBuilder(tableName);
            //创建字段名
            //这里我用的循环进行多次创建但是有个漏洞是所有的字段类型都是一样的varChar
            if(columnName!=null && columnName.size>0){
                for(int i = 0; i<columnNames.size();i++)
                tableBuilder.addColunmn(new ColumnBuilder(columnNames.get(i)).setSQLType(Types.VARCHAR).toColumn);
                //创建完字段后开始赋值
                //table 里面有addRow("") 传String字符串就可以,也有addRows传List就行
                //当然也有addRowFromMap 传map
                Table table = tableBuilder.toTable(db);
                if(columnNames!=null && columnNames.size>0){
                    table.addRows(columnNames);
                }
            }
            //最后一定要记得close;
            db.close();
        }
    }

        基本上的思路大概就是这个样子,就先到这里了。如有优化会继续更新,个人观点仅供参考

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_50659306/article/details/121126817

智能推荐

WPS兄弟软件来了,用友金蝶用户:以后不愁啦,浪潮:多个干活的_浪潮云 和wps-程序员宅基地

文章浏览阅读291次。这是一款基于电子表格的无代码平台,更是一个普通人都可以玩转的表格编程工具。对于金蝶用友,浪潮SAP来说,这真的是黄金搭档。_浪潮云 和wps

2021年12月电子学会图形化三级编程题解析含答案:跳高比赛_2021年12月电子学会图形化三级编程题解析含答案:跳高比赛_电子学会跳高比赛_青少-程序员宅基地

文章浏览阅读719次。1)删除小猫角色,添加角色“Monkey”,“Ben2”和“Jordyn”,调整造型和位置,如上图所示;(4)Jordyn跳起(距离随机,y坐标的范围是-100到180),然后回到原位;(3)Ben2先跳起(距离随机,y坐标的范围是-100到180),然后回到原位;(1)正确的添加背景、角色,并且正确摆放角色的位置,造型不对扣1分。学生对编程软件的进一步综合操作能力,考查对随机数,变量,广播,(2)正确的设置变量“1号成绩”,“2号成绩”。(5)Ben2和Jordyn跳起的高度随机。..._2021年12月电子学会图形化三级编程题解析含答案:跳高比赛_电子学会跳高比赛_青少

mysql还原数据库_mysql备份、还原数据库(命令行)-程序员宅基地

文章浏览阅读780次。这里记录下MySQL如何通过命令行备份和还原数据库。简单的三个步骤方法很简单,可以分为三个步骤:1.打开cmd控制台(命令行)。2.输入相应命令完成备份还原操作。3.关闭cmd控制台。就和三步将大象塞进冰箱是一样的,非常简单(手动滑稽)。备份和还原的命令备份用的是mysqldump命令:mysqldump -u 用户名 -p -d 数据库名 -t 表名 > 盘符:\路径\文件名.sql这里的..._mysql命令还原数据库

aspx中播放flv视频_aspx flv-程序员宅基地

文章浏览阅读3.6k次。JW FLV PLAYER 在线FLV播放器中文使用说明使用方法:如果你仅需要播放一个FLV文件[例如“video.flv”],那么只要把“video.flv”和压缩包内的flvplayer.swf复制到同一个目录内,然后在页面内添加程序代码wmode="transparent" dat_aspx flv

面试题_http调用后端接口是一个线程吗-程序员宅基地

文章浏览阅读1.1k次。java的数据结构及优缺点:数据结构: 优点: 缺点:数组 插入快 查找慢,删除慢,大小固定,只能存储单一元素有序数组 比无序数组查询快 插入慢,删除慢,大小固定,只能存储单一元素栈 提供后劲先出的存储方式 存取其他项很慢队列 提供先进先出的存取方式 存取其他项很慢链表 插入快,删除快 查找慢二叉树 如果树是平衡的,则..._http调用后端接口是一个线程吗

随便推点

c# 批量mqtt_C# 创建mqtt服务器,mqtt发布数据,验证逻辑-程序员宅基地

文章浏览阅读667次。如果想用C#来创建mqtt的服务器进行数据交互的话,有一个常见的选择,那就是 MQTTNET那个库在最近几个版本升级的过程中,更改了一些api接口,造成了大家的困惑,所以我在hsl中也提供了mqtt的实现类,用法很简单。现在来介绍一下在Visual Studio 中的NuGet管理器中可以下载安装,也可以直接在NuGet控制台输入下面的指令安装:测试的MQTT界面如下:如果需要客户端,hsl的de..._hslcommunication mqtt

Element UI Upload 组件 设置只允许上传单张图片的操作_element plus只上传一张图片-程序员宅基地

文章浏览阅读5.2w次,点赞20次,收藏21次。首先附一个官方upload的地址 http://element-cn.eleme.io/#/zh-CN/component/upload其中有上传多张和不同样式列表的例子,只是在【用户上传头像】这个例子中,在下并没有成功的使用。会出现显示不出已上传的图片无法显示缩略图,无法调整缩略图的位置。所以我不想深究,直接用【照片墙】这个例子往上怼。这个例子上上传多张的,因_element plus只上传一张图片

python爬取酷狗音乐付费音乐包_一篇文章教会你使用Python网络爬虫下载酷狗音乐...-程序员宅基地

文章浏览阅读4.7k次。【一、项目背景】现在的听歌软件动不动就是各种付费,要下载软件才能听,当你下载了之后,你会惊奇的发现这首歌还收费,这就让一向喜欢白嫖的我感到很伤心了。不过不用担心,因为我会Python啊【二、项目准备】1、编辑器:Sublime Text 32、软件:360浏览器【三、项目目标】下载我们喜欢的音乐。【四、项目实现】1、打开酷狗音乐官网360浏览器打开酷狗音乐官网:可以看到十分清爽的画风,这也是我比较..._python爬取酷狗付费音乐

coin1 - pwnable_pwbable.kr.coin1-程序员宅基地

文章浏览阅读309次。coin1 - pwnable题目脚本分析题目利用二分法找出假硬币。游戏需要进行100轮,每轮得一分。游戏与服务器交互????。需要注意一点,每一轮找出并输入假硬币之后,需要再一次输入假硬币的序号,开启下一轮的游戏或获得flag。~$ nc pwnable.kr 9007 --------------------------------------------------- - ..._pwbable.kr.coin1

docker GPU报错解决_在进入docker时报错no nvidia gpu device found-程序员宅基地

文章浏览阅读345次。【代码】docker GPU报错解决。_在进入docker时报错no nvidia gpu device found

【OMV6】KVM为windows server 2016配置网卡_kvm怎么给windows配网关-程序员宅基地

文章浏览阅读517次。型号(模式)选e1000,网络选刚刚创建好的。然后进入虚拟机就可以正常联网了,发现已经独立分配了与物理网卡相同网段的ip。为创建好的虚拟机添加网络,型号这次可以选virtio。进入虚拟机,进入光驱,安装virtio-win-guest-tools,成功联网。在omv6-kvm网络中添加macvtap网络,选择刚刚添加的br0桥。Sftp上传到你创建的池路径后在Vms中添加光盘,选择这个镜像。编辑/etc/network/interfaces。激活这个网络后到VMs界面为创建好的虚拟机添加网络。_kvm怎么给windows配网关

推荐文章

热门文章

相关标签