备份和恢复(或叫导入导出)按钮中的代码及后台控制器中的代码案例

//备份(导出)按钮中的代码

function(button, e)
{
    var grid = this.getView();
    var recs = grid.getSelectionModel().getSelection();
    var url=‘/Pc/XiTongPublic/HeChaYaoDian1Backup‘;
    window.open(util.urlFillAll(url),‘_blank‘);
}

//备份(导出)VS中的代码

        /// </summary>
        [HttpGet]
        [DontNeedPermit]
        public void XKZBackup(Guid[] IDs)
        {
            #region 实现
            var fileName = $"许可证导出{DateTime.Now.ToString("yyyy-MM-dd-HH-mm")}";
            fileName += $".xlsx";
            var ShuJus = _ioc.Query<XuKeZheng>(); // 默认全部备份
            var excel = new Excel()
                .AddSheet(ShuJus.ToSheet());
            excel.WriteToResponse(Response, fileName);
            excel.Close();
            #endregion
        }

//恢复(导入)按钮中的代码

function(button, e)
{
    var grid = this.getView();
    var win = Ext.create(‘ux.win.Recover‘, {
        url: ‘/Pc/XiTongPublic/HeChaYaoDian1Recover‘,
        confirmMessage: ‘恢复数据将会清空现有相同名称的核查要点并且无法再恢复,确认吗?‘,
        listeners:{
            close: function()
            {
                grid.getStore().reload();
            }
        }
    });
    grid.add(win);
    win.showBy(grid);    //相对整个视图居中显示
}

//恢复(导入)VS中的代码

 /// 核查要点表餐饮服务数据恢复
        /// </summary>
        [HttpGet]
        [DontNeedPermit]
        public HyResultBase XKZRecover(Guid FileID)
        {
            #region 实现
            var r = new HyResultBase();
            string sFileName = UploadFile.GetFileSaveToTempFile(FileID);
            FileInfo file = new FileInfo(sFileName);
            if (!file.Exists)
            {
                r.Errors.Add("要导入的文件不存在,可能的原因:1、没有上传;2、虽已上传但目前已不存在;");
                return r;
            }
            var excel = new Excel(sFileName);
            var msg = "";
            var entityIDs = new List<Guid>();
            var total = 0;
            IRepository<XuKeZheng> db = null;
            _ioc.Query<XuKeZheng>().Delete().SaveToDB();
            // 以下注意恢复次序。以免产生外键约束错误
            excel.GetSheet<XuKeZheng>().ForEach(e =>
            {
                total++;
                e.Insert().MergingTempSave(db).SaveToTemp(out db);
            });
            db?.SaveToDB();
            excel.CloseAndDeleteFile();

            r.Success = true;
            msg += "\r\n" + "-".Repeat(10);
            msg += $"共上传[{total}]个许可证数据!";
            r.Messages.Add(msg + "-".Repeat(10));
            return r;
            #endregion
        }

原文地址:https://www.cnblogs.com/jiaowoyaoshu/p/9904191.html

时间: 2024-10-07 16:40:06

备份和恢复(或叫导入导出)按钮中的代码及后台控制器中的代码案例的相关文章

Oracle如何备份还原DMP数据库(导入导出DMP)

一.Oracle导入备份文件步骤: 1.把数据库的备份文件:123.DMP 拷贝到oracle安装目录下的dpdump文件夹中, 比如我的路径是: D:\app\administrator\admin\orcl\dpdump 在你的PLSQL Developer中 或者直接在cmd下登录sqlplus, 作如下操作 2.创建表空间 db123.dbf create tablespace db123 datafile 'D:\app\administrator\admin\orcl\dpdump\

Oracle数据库迁移问题(备份、还原、数据导入导出、PLSQL)IMP - 0009 错误

最近在做Oracle数据迁移,从一个服务器迁移到另外一台服务器上去,遇到各种问题,比如 导入DMP文件的时候,遇到 IMP - 0009 错误,折腾了半天,发现原来是我 连接到服务器导出DMP文件时,用的Oracle客户端版本与服务器上Oracle版本不一致,导致导出来的DMP文件实际上有损坏,所以怎么都不能导入到新服务器的Oracle数据库中去. 总结:最好严格保证Oracle版本及环境一致性,免得遇到各种问题.

oracle学习 六 删除表空间,数据文件的语句以及导入导出dmp文件的方法(持续更新中)

要想删除表空间就要先删除数据文件 例如这个例子 CREATE TABLESPACE STHSGIMGDB_SPACE11 DATAFILE 'D:\ORACLEDATABASE\JinHuaDataBase\STHSGIMGDB_SPACE11_01' SIZE 1M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED, 'D:\ORACLEDATABASE\JinHuaDataBase\STHSGIMGDB_SPACE11_02' SIZE 1M AUTOEXTE

php 导入/导出 csv 文件

php 导入/导出 csv 文件 1.简介 项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用原生PHP,实现了CSV格式数据的导入和导出功能.并解决相关乱码问题. 将xls转换成csv的文本格式,然后再用php分析这个文件,和PHP分析文本没有什么区别.优点:跨平台,效率比较高.可以读写.缺点:只能直接使用csv的文件,如果经常接受.xls二进制文件的话需要手工转换,不能自动化.一个文件只有一个SHEET. 2.相关函数介绍 2.1

Hive 实战(1)--hive数据导入/导出基础

前沿: Hive也采用类SQL的语法, 但其作为数据仓库, 与面向OLTP的传统关系型数据库(Mysql/Oracle)有着天然的差别. 它用于离线的数据计算分析, 而不追求高并发/低延时的应用场景. 最显著的特别是, Hive的数据是Schema On Read, 对数据的写入非常的自由和松散, 而对数据的读取则作了各种限制. 而RMDBS则是Schema On Write, 对数据写入限制非常的严苛. *). 数据导入/导出 让我们体验以下Hive中数据如何导入: 1). 创建数据库 db_

.NET 导入导出Excel

第一种方式:OleDb 需要安装office,且读数据慢,而且有数据格式的Cell读出数据不正确等问题.放弃. 第二种方式:NPOI开源库 使用NPOI导入导出Excel应该是.NET开发很常用的手段. 代码如下: 1 public ExcelHelper(string fileName) 2 { 3 this.fileName = fileName; 4 disposed = false; 5 } 6 7 /// <summary> 8 /// 将DataTable数据导入到excel中 9

从SQL Server中导入/导出 Excel 的基本方法

/*=================== 导入/导出 Excel 的基本方法 ===================*/ 从Excel文件中,导入数据到SQL数据库中,很简单,直接用下面的语句: /*===================================================================*/ --如果接受数据导入的表已经存在 insert into 表 select * from OPENROWSET('MICROSOFT.JET.OLEDB.4.

统计信息的备份恢复导入导出

Question:  I want to understand when to export and import by dbms_stats statistics and learn when it is a good idea to export and import statistics. Answer:  Importing and exporting statistics for the CBO and the systems stats (external system statis

Mysql导入导出大量数据的方法、备份恢复办法

经常使用PHP+Mysql的朋友一般都是通过phpmyadmin来管理数据库的.日常的一些调试开发工作,使用phpmyadmin确实很方便.但是当我们需要导出几百兆甚至几个G的数据库时,phpmyadmin就会很卡.甚至如果你是想导入大量数据,则phpmyadmin完全无法完成.因为phpmyadmin是基于PHP网页的,无法上传太大的sql文件.其实mysql官方给了我们很好的解决方案:mysqldump. 下面介绍,如何在Windows环境下,使用mysqldump导出数据库: 找到你mys