JeeSite中Excel导入导出,mysqldump只导出表构造或只
分类:服务器

复制代码 代码如下:

mysql mysqldump 只导出表构造 不导出多少

分享: 澳门新萄京 1Tencent果壳网  澳门新萄京 2博客园和讯澳门新萄京,   澳门新萄京 3和讯和讯   澳门新萄京 4微博搜狐  澳门新萄京 5Tencent相爱的人  澳门新萄京 6百度贴吧  澳门新萄京 7豆瓣   澳门新萄京 8QQ好友  澳门新萄京 9人人网

  在各个管理连串中,数据的导入导出是平日使用的坚决守护,平日导入导出以Excel、CSV格式居多。如若是上学的进度中,最佳是自个儿达成数量导入与导出的效应,可是在档期的顺序中,依旧调用现成的效果与利益相比较好。近来平素接收风华正茂款名叫JeeSite的开源项目来进行三次开荒,就记录一下该项目对于Excel导入导出数据的进度。JeeSite提供了很好的Excel的导入导出作用,隐讳了尾部的居多兑现,通过轻松的套路式步骤就能够到位多少的Excel数据的导入导出。对于从未接纳过JeeSite的能够不用往下看了,因为上边包车型客车代码是跟JeeSite二次开荒相关的代码,不做JeeSite的贰次开垦,以下代码对您无用,在此间友情提示,制止浪费您宝贵的年月。

导出Excel

复制代码 代码如下:

笔者:王春季  原作地址:

 

导出

mysqldump --opt -d 数据库名 -u root -p > xxx.sql

1.我们在项目中会常常性的须求把突显的列表数据导出文件给客户展开利用对吧?

导入导出步骤

导出报表

备份数据库

2.片段时候在一个连串中顾客要导出到excel文件,有的客商必要的是csv或然pdf文件等,大家会改来改去是吗?

  无论是JeeSite系统,依然别的的系统或然自个儿写的种类,对于数据导入导出成效来说,首先要规定的是导入导出哪些数据的字段,然后提供三个导入的模板,编写导入导出的效果与利益,最终在页面上提供导入导出的操作格局来供使用者实行应用。

序列

复制代码 代码如下:

3.平日会听到顾客会说导出的excel就不像那显示怎么就导出什么样吗?导出的excel文件这么丑,为何壮志未酬一点?

 

姓名

#mysqldump 数据库名 >数据库备份名
#mysqldump -A -u客户名 -p密码 数据库名>数据库备份名
#mysqldump -d -A --add-drop-table -uroot -p >xxx.sql

4.大家在类型中会日常觉获得导出二个excel文件或许pdf文件代码一大堆,另一个页面导出数据又一大堆代码,不能够通用。

概念导入导出字段

数量

1.导出构造不导出多少

5.webform中举办文件导出是不及winform操作本和姑件方便的,webfrom就算有益于完成导出但都无样式,极度的简陋。

  在导入导出数据时会先明确要导入导出数据的怎样重大字段,在明确好字段之后,通过数据库查询出的数据依靠字段每个的导出,或许经过读取的Excel各个的读入。在JeeSite中,显著要导入导出的字段现在,在JeeSite的实体类中得以经过声明来开展求证,注解方法如下:

1

复制代码 代码如下:

6.有的写的相比好的吧,也会在后台代码中写过多的if判别的。何况临时遇上tree、grid等时由于管理方式的比不上也不能够开展统生机勃勃的管理。

1 @ExcelField(title="列名1", align=2, sort=10)

张三1

mysqldump --opt -d 数据库名 -u root -p > xxx.sql  

7.那么SNF开垦平台就消除了以上问题,我们能够用风姿罗曼蒂克行代码完成7种文件格式(.xls,.xlsx,pdf,word,xml,html,csv)的导出,况兼通用,而且只要哪类文件客商有特殊供给也得以重复支付也许有强有力的类库帮忙。

  那样定义,就足以将类中的字段与Excel的列进行关联,满含列名称和排序。例子如下:

2

2.导出多少不导出结构

8.SNF飞速支付平台Excel导出特点:

1 @ExcelField(title="名称", align=2, sort=10) 
2 public String getName() {
3     return name;
4 }
5 
6 @ExcelField(title="年龄", align=2, sort=20)  
7 public String getAge() {
8     return age;
9 }

2

复制代码 代码如下:

   8.1 能够按模版导出excel、导出格式越来越美观,使用时不须要再加工.

  在实体类的getter方法上增添@ExcelField证明,就完毕了Excel列名称与实体类字段的涉及。

张三2

mysqldump -t 数据库名 -uroot -p > xxx.sql 

   8.2 导出模版在Excel中创建,在文书层面上导出,没有须求运转Excel,导出更飞速。

 

2

3.导出多少和表构造

   8.3 并且援助三种导出方式分别是:无格式导出Excel、默许模版导出Excel、自定义格式导出Excel。

Excel数据导出效用

3

复制代码 代码如下:

可望以上的标题能给大家启迪,上面就合营来看看导出效果啊:

  对于JeeSite中的导出成效完全部都以套路,只要简单的3行就足以成功贰个导出功用,首先设置导出文件名,接着查询导出数据,最后调用ExportExcel(卡塔尔来完结Excel的导出,例子代码如下:

张三3

mysqldump 数据库名 -uroot -p > xxx.sql 

黄金年代、主页面显示:

 1 @RequestMapping(value = "export", method=RequestMethod.POST)
 2 public String exportFile(Info info, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
 3     try {
 4         String fileName = "信息数据" DateUtils.getDate("yyyyMMddHHmmss") ".xlsx";
 5         // 调用获取数据的方法 ... 省略 6         new ExportExcel("信息数据", Info.class).setDataList(page).write(response, fileName).dispose();
 7         return null;
 8     } catch (Exception e) {
 9         addMessage(redirectAttributes, "信息数据导出失败!失败信息:" e.getMessage());
10     }
11     return "redirect:"   adminPath   "/info/Info/list?repage";
12 }

2

4.导出特定表的布局

澳门新萄京 10

  return后之处,依照实际的Controller来填写。

4

复制代码 代码如下:

二、页前面后台代码:

 

张三4

mysqldump -uroot -p -B 数据库名 --table 表名 > xxx.sql  

   后台代码:

导入模板

2

导入数据:   由于mysqldump导出的是完好的SQL语句,所以用mysql顾客程序超级轻松就会把数据导入了:

 

  导入模板是用来给系统使用者在导入数据时使用的,有了导入模板就相当于有了一个导入的正规化,明确需求导入哪些列来让使用者填入。在JeeSite中,导入模板并不用事前提供三个Excel,而是经过代码直接生成多少个Excel文件,Excel文件中的列也是由前边实体类中明确的,那样的裨益是,当列的多少改动时毫无人工的去替换改正Excel,因为它是有代码生成的。导入模板的代码例子如下:

5

复制代码 代码如下:

 protected void Page_Load(object sender, EventArgs e)
        {

            if (!X.IsAjaxRequest)
            {
                this.ExportExtButtonMenu(btnReport, this.TreePanel1, "ModuleTreeNodes", "SNF快速开发平台-程序菜单");
            }

        }
 1 @RequestMapping(value = "import/template")
 2 public String importFileTemplate(HttpServletResponse response, RedirectAttributes redirectAttributes) {
 3     try {
 4         String fileName = "信息数据导入模板.xlsx";
 5         List<Info> list = Lists.newArrayList(); 
 6         list.add(new Info());
 7         new ExportExcel("信息数据", Info.class, 2).setDataList(list).write(response, fileName).dispose();
 8         return null;
 9     } catch (Exception e) {
10         addMessage(redirectAttributes, "导入模板下载失败!失败信息:" e.getMessage());
11     }
12     return "redirect:"   adminPath   "/info/Info/list?repage";
13 }

张三5

#mysql 数据库名 < 文件名
#source /tmp/xxx.sql  

 

  此处return后的地址,也是依赖实际的Controller来填写。

2

mysqldump 只导出表布局 不导出多少 复制代码 代码如下: mysqldump --opt -d 数据库名 -u root -p xxx.sql 备份数据库 复制代码 代码如下: #mysqldum...

   前台代码:

 

总计:

 <ext:Button ID="btnReport" runat="server" Text="导出"  Icon="PageExcel">
                         </ext:Button>

Excel数据导入功效

10

三、Excel导出效率:

  顾客下载好数据模板后,将相应的多少填充好,就足以扩充多少的导入了。数据的导入是对Excel中的数据持续扩充遍历和保留的一个进程,代码尽管比导出要长,不过也截然是套路,代码如下:

 3.1 无格式导出Excel

 1 @RequestMapping(value = "import", method=RequestMethod.POST)
 2 public String importFile(MultipartFile file, RedirectAttributes redirectAttributes) {
 3     
 4     try {
 5         int successNum = 0;     // 导入成功计数
 6         int failureNum = 0;     // 导入失败计数
 7         StringBuilder failureMsg = new StringBuilder();
 8         ImportExcel ei = new ImportExcel(file, 1, 0);
 9         
10         List<Info> list = ei.getDataList(Info.class);
11         
12         for ( Info info : list ) {
13             // ...
14             if ( ... ) {  // 导入条件的判断
15                 // 符合导入条件
16                 // 保存 ... 方法省略
17                 successNum  ;
18             } else {
19                 // 不符合导入条件
20                 failureMsg.append("<br/>名字 "   info.getName()   " 已存在; ");
21                 failureNum  ;
22             }
23         }
24 
25         if (failureNum>0){
26             failureMsg.insert(0, ",失败 "   failureNum   " 条信息,导入信息如下:");
27         }
28         
29         addMessage(redirectAttributes, "已成功导入 "   successNum   " 条片区信息"   failureMsg);
30         
31     } catch (Exception e) {
32         // TODO Auto-generated catch block
33         e.printStackTrace();
34     }
35     
36     return "redirect:"   adminPath   "/info/Info/list?repage";
37 }

澳门新萄京 11

 

 3.2 暗许模版导出Excel

增多导入导出按键

JeeSite中Excel导入导出,mysqldump只导出表构造或只导出多少的达成格局。 澳门新萄京 12

JeeSite中Excel导入导出,mysqldump只导出表构造或只导出多少的达成格局。  在页面上增添两个开关,分别是导入和导入开关,代码如下:

 3.3自定义格式导出Excel.

1 <li class="btns">
2     <input id="btnExport" class="btn btn-primary" type="button" value="导出"/>
3     <input id="btnImport" class="btn btn-primary" type="button" value="导入"/>
4 </li>

澳门新萄京 13

 

四、别的一些文件导出样式:

导入时弹出的窗口

澳门新萄京 14澳门新萄京 15

  在点击“导入”开关时会弹出三个窗口,窗口中得以提供导入文本选取,也足以下载导入模板。代码如下:

 

1 <div id="importBox" class="hide">
2     <form id="importForm" action="${ctx}/info/Info/import" method="post" enctype="multipart/form-data"
3         class="form-search" style="padding-left:20px;text-align:center;" onsubmit="loading('正在导入,请稍等...');"><br/>
4         <input id="uploadFile" name="file" type="file" style="width:330px"/><br/><br/>  
5         <input id="btnImportSubmit" class="btn btn-primary" type="submit" value="   导    入   "/>
6         <a href="${ctx}/info/Info/import/template">下载模板</a>
7     </form>
8 </div>

 

  在代码中,需求改进action和href后的具体路线技术有限协理数据的交给,和模板下载的地点,具体地址遵照自个儿项目中的Controller来张开更迭。

 

 

 

调整导入导出按键的JS代码

  对于导出按键来讲,需求通过action来说数据开展导出,对于导入按键来讲只是亟需把导入时呈现的窗口展示出来即可。相关代码如下:

 1 $(document).ready(function() {        
 2     $("#btnExport").click(function(){
 3         top.$.jBox.confirm("确认要导出片区数据吗?","系统提示",function(v,h,f){
 4             if(v=="ok"){
 5                 $("#searchForm").attr("action","${ctx}/info/Info/export");
 6                 $("#searchForm").submit();
 7             }
 8         },{buttonsFocus:1});
 9         top.$('.jbox-body .jbox-icon').css('top','55px');
10     });
11     $("#btnImport").click(function(){
12         $.jBox($("#importBox").html(), {title:"导入数据", buttons:{"关闭":true}, 
13             bottomText:"导入文件不能超过5M,仅允许导入“xls”或“xlsx”格式文件!"});
14     });
15 });

 

  对于须求利用JeeSite开源项目展开一次开荒的话,上面包车型地铁代码算是贰个比较详细的笔记了,假诺不选择JeeSite开源项目以来,下边包车型客车代码就从未有过什么用项了。那篇笔记留个自身和内需的人啊。作者还有或者会时有时无的发一些关于JeeSite的二回开拓的笔记。

 

注:笔者动用的JeeSite是3.X版本的,不是新型的JeeSite 4的版本。

本文由澳门新萄京发布于服务器,转载请注明出处:JeeSite中Excel导入导出,mysqldump只导出表构造或只

上一篇:澳门新萄京Array数组对象的扩展函数代码,javas 下一篇:没有了
猜你喜欢
热门排行
精彩图文