当前位置: 首页 > news >正文

vue 实现两级表头表格下载

首先需要引用两个js Blob.js 对应第一个  Export2Excel.js 对应第二个

/* eslint-disable */
/* Blob.js* A Blob implementation.* 2014-05-27** By Eli Grey, http://eligrey.com* By Devin Samarin, https://github.com/eboyjr* License: X11/MIT*   See LICENSE.md*//*global self, unescape */
/*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true,plusplus: true *//*! @source http://purl.eligrey.com/github/Blob.js/blob/master/Blob.js */(function (view) {"use strict";view.URL = view.URL || view.webkitURL;if (view.Blob && view.URL) {try {new Blob;return;} catch (e) {}}// Internally we use a BlobBuilder implementation to base Blob off of// in order to support older browsers that only have BlobBuildervar BlobBuilder = view.BlobBuilder || view.WebKitBlobBuilder || view.MozBlobBuilder || (function(view) {varget_class = function(object) {return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1];}, FakeBlobBuilder = function BlobBuilder() {this.data = [];}, FakeBlob = function Blob(data, type, encoding) {this.data = data;this.size = data.length;this.type = type;this.encoding = encoding;}, FBB_proto = FakeBlobBuilder.prototype, FB_proto = FakeBlob.prototype, FileReaderSync = view.FileReaderSync, FileException = function(type) {this.code = this[this.name = type];}, file_ex_codes = ("NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR "+ "NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR").split(" "), file_ex_code = file_ex_codes.length, real_URL = view.URL || view.webkitURL || view, real_create_object_URL = real_URL.createObjectURL, real_revoke_object_URL = real_URL.revokeObjectURL, URL = real_URL, btoa = view.btoa, atob = view.atob, ArrayBuffer = view.ArrayBuffer, Uint8Array = view.Uint8Array;FakeBlob.fake = FB_proto.fake = true;while (file_ex_code--) {FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1;}if (!real_URL.createObjectURL) {URL = view.URL = {};}URL.createObjectURL = function(blob) {vartype = blob.type, data_URI_header;if (type === null) {type = "application/octet-stream";}if (blob instanceof FakeBlob) {data_URI_header = "data:" + type;if (blob.encoding === "base64") {return data_URI_header + ";base64," + blob.data;} else if (blob.encoding === "URI") {return data_URI_header + "," + decodeURIComponent(blob.data);} if (btoa) {return data_URI_header + ";base64," + btoa(blob.data);} else {return data_URI_header + "," + encodeURIComponent(blob.data);}} else if (real_create_object_URL) {return real_create_object_URL.call(real_URL, blob);}};URL.revokeObjectURL = function(object_URL) {if (object_URL.substring(0, 5) !== "data:" && real_revoke_object_URL) {real_revoke_object_URL.call(real_URL, object_URL);}};FBB_proto.append = function(data/*, endings*/) {var bb = this.data;// decode data to a binary stringif (Uint8Array && (data instanceof ArrayBuffer || data instanceof Uint8Array)) {varstr = "", buf = new Uint8Array(data), i = 0, buf_len = buf.length;for (; i < buf_len; i++) {str += String.fromCharCode(buf[i]);}bb.push(str);} else if (get_class(data) === "Blob" || get_class(data) === "File") {if (FileReaderSync) {var fr = new FileReaderSync;bb.push(fr.readAsBinaryString(data));} else {// async FileReader won't work as BlobBuilder is syncthrow new FileException("NOT_READABLE_ERR");}} else if (data instanceof FakeBlob) {if (data.encoding === "base64" && atob) {bb.push(atob(data.data));} else if (data.encoding === "URI") {bb.push(decodeURIComponent(data.data));} else if (data.encoding === "raw") {bb.push(data.data);}} else {if (typeof data !== "string") {data += ""; // convert unsupported types to strings}// decode UTF-16 to binary stringbb.push(unescape(encodeURIComponent(data)));}};FBB_proto.getBlob = function(type) {if (!arguments.length) {type = null;}return new FakeBlob(this.data.join(""), type, "raw");};FBB_proto.toString = function() {return "[object BlobBuilder]";};FB_proto.slice = function(start, end, type) {var args = arguments.length;if (args < 3) {type = null;}return new FakeBlob(this.data.slice(start, args > 1 ? end : this.data.length), type, this.encoding);};FB_proto.toString = function() {return "[object Blob]";};FB_proto.close = function() {this.size = this.data.length = 0;};return FakeBlobBuilder;}(view));view.Blob = function Blob(blobParts, options) {var type = options ? (options.type || "") : "";var builder = new BlobBuilder();if (blobParts) {for (var i = 0, len = blobParts.length; i < len; i++) {builder.append(blobParts[i]);}}return builder.getBlob(type);};
}(typeof self !== "undefined" && self || typeof window !== "undefined" && window || this.content || this));
/* eslint-disable */
require('script-loader!file-saver');
require('script-loader!./Blob');
import XLSX from 'xlsx'function generateArray(table) {var out = [];var rows = table.querySelectorAll('tr');var ranges = [];for (var R = 0; R < rows.length; ++R) {var outRow = [];var row = rows[R];var columns = row.querySelectorAll('td');for (var C = 0; C < columns.length; ++C) {var cell = columns[C];var colspan = cell.getAttribute('colspan');var rowspan = cell.getAttribute('rowspan');var cellValue = cell.innerText;if (cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue;//Skip rangesranges.forEach(function (range) {if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) {for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null);}});//Handle Row Spanif (rowspan || colspan) {rowspan = rowspan || 1;colspan = colspan || 1;ranges.push({s: {r: R, c: outRow.length}, e: {r: R + rowspan - 1, c: outRow.length + colspan - 1}});};//Handle ValueoutRow.push(cellValue !== "" ? cellValue : null);//Handle Colspanif (colspan) for (var k = 0; k < colspan - 1; ++k) outRow.push(null);}out.push(outRow);}return [out, ranges];
};function datenum(v, date1904) {if (date1904) v += 1462;var epoch = Date.parse(v);return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);
}function sheet_from_array_of_arrays(data, opts) {var ws = {};var range = {s: {c: 10000000, r: 10000000}, e: {c: 0, r: 0}};for (var R = 0; R != data.length; ++R) {for (var C = 0; C != data[R].length; ++C) {if (range.s.r > R) range.s.r = R;if (range.s.c > C) range.s.c = C;if (range.e.r < R) range.e.r = R;if (range.e.c < C) range.e.c = C;var cell = {v: data[R][C]};if (cell.v == null) continue;var cell_ref = XLSX.utils.encode_cell({c: C, r: R});if (typeof cell.v === 'number') cell.t = 'n';else if (typeof cell.v === 'boolean') cell.t = 'b';else if (cell.v instanceof Date) {cell.t = 'n';cell.z = XLSX.SSF._table[14];cell.v = datenum(cell.v);}else cell.t = 's';ws[cell_ref] = cell;}}if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range);return ws;
}function Workbook() {if (!(this instanceof Workbook)) return new Workbook();this.SheetNames = [];this.Sheets = {};
}function s2ab(s) {var buf = new ArrayBuffer(s.length);var view = new Uint8Array(buf);for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;return buf;
}export function export_table_to_excel(id) {var theTable = document.getElementById(id);var oo = generateArray(theTable);var ranges = oo[1];/* original data */var data = oo[0];var ws_name = "SheetJS";var wb = new Workbook(), ws = sheet_from_array_of_arrays(data);/* add ranges to worksheet */// ws['!cols'] = ['apple', 'banan'];ws['!merges'] = ranges;/* add worksheet to workbook */wb.SheetNames.push(ws_name);wb.Sheets[ws_name] = ws;var wbout = XLSX.write(wb, {bookType: 'xlsx', bookSST: false, type: 'binary'});saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}), "test.xlsx")
}export function export_json_to_excel({multiHeader2 = [], // 第一行表头multiHeader = [], // 第二行表头header, // 第三行表头data,filename, //文件名merges = [], // 合并autoWidth = true,bookType = "xlsx",myRowFont = ["1"],tableheader = tableheader
} = {}) {/* original data */filename = filename || "列表";data = [...data];if (header != []) {data.unshift(header);}for (let i = multiHeader2.length - 1; i > -1; i--) {data.unshift(multiHeader2[i]);}for (let i = multiHeader.length - 1; i > -1; i--) {data.unshift(multiHeader[i]);}//var ws_name = "SheetJS";var wb = new Workbook(),ws = sheet_from_array_of_arrays(data);if (merges.length > 0) {if (!ws["!merges"]) ws["!merges"] = [];merges.forEach(item => {ws["!merges"].push(XLSX.utils.decode_range(item));});}if (autoWidth) {/*设置worksheet每列的最大宽度*/const colWidth = data.map(row =>row.map(val => {/*先判断是否为null/undefined*/if (val == null) {return {wch: 20};} else if (val.toString().charCodeAt(0) > 255) {/*再判断是否为中文*/return {wch: val.toString().length * 2};} else {return {wch: val.toString().length};}}));/*以第一行为初始值*/let result = colWidth[0];for (let i = 1; i < colWidth.length; i++) {for (let j = 0; j < colWidth[i].length; j++) {if (result[j] != undefined) {if (result[j]["wch"] < colWidth[i][j]["wch"]) {result[j]["wch"] = colWidth[i][j]["wch"];}}}}ws["!cols"] = result;}/* add worksheet to workbook */wb.SheetNames.push(ws_name);wb.Sheets[ws_name] = ws;var dataInfo = wb.Sheets[wb.SheetNames[0]];//设置主标题样式// dataInfo["A1"].s = {//   font: {//     name: '宋体',//     sz: 18,//     color: {rgb: "ff0000"},//     border:true//   },//   alignment: {//     horizontal: "center",//     vertical: "center",//   },//   fill: {//     fgColor: {rgb: "FFFFFF"},//   },// };// 这是表头行的样式var tableTitleFont = {font: {name: "宋体",// color: {rgb: "ff0000"},bold: true},alignment: {horizontal: "center",vertical: "center"}};if (tableheader == undefined) {for (var b in dataInfo) {if (b.indexOf(myRowFont) > -1) {if (b.length == 2) {dataInfo[b].s = tableTitleFont;}}}}if (tableheader == "2") {for (var b in dataInfo) {if (b.indexOf("1") > -1 || b.indexOf("2") > -1) {if (b.length == 2) {dataInfo[b].s = tableTitleFont;}}}}var wbout = XLSX.write(wb, {bookType: bookType,bookSST: false,type: "binary"});saveAs(new Blob([s2ab(wbout)], {type: "application/octet-stream"}),`${filename}.${bookType}`);
}

下载的具体方法

 downExcel() {//需要进行表格占位let multiHeader = [['基本信息', '', '', '', '']] // 一级表头let tHeader = ['code', '姓名', '警号', '电话', '部门'] // 二级表头let filterVal = ['code', 'realName', 'userCode', 'phone', 'name'] // 对应字段//表头的数据this.Title.dateList.forEach(item => {//item 是日期 2012-01-02 要占两个位置multiHeader[0].push(item)multiHeader[0].push('')//给二级表头添加字段tHeader.push('上午', '下午')filterVal.push('morningState', 'afternoonState') // 对应的字段})console.log(multiHeader)//调用 this.merges 获取表格对应的excel对应的字段let merges = this.merges(this.Title.dateList)const data = this.format(this.tableData, this.Title.dateList) // 数据处理,将数据放在统计导出才能显示console.log(multiHeader)console.log(tHeader)export_json_to_excel({multiHeader, // 一级表头header: tHeader, // 二级表头data, // 数据merges,//在excel导入对应的位置filename: 'excel', // 导出excel的名称tableHeader: '2'})},

表头数据对应处理

 //表头的数据对应处理merges(date) {let font = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q','R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']let merges = ['A1:E1']//从第几个开始let tableCount = 5for (let i = 0; i < date.length; i++) {//每次循环加2tableCount += 2if (merges.length >= 12) {let count = merges.length + 1let num = parseInt(count / 13)let yu = count % 13let date = font[num - 1] + font[(yu) * 2] + '1:' + font[num - 1] + font[(yu * 2) + 1] + "1"merges.push(date)} else {let date = font[tableCount - 2] + '1:' + font[tableCount - 1] + '1'console.log(merges)merges.push(date)}console.log(merges)}return merges},

数据处理

 format(jsonData, table) { //数据处理let dataList = []for (let i = 0; i < jsonData.length; i++) {let list = []list.push(jsonData[i].user.code)list.push(jsonData[i].user.realName)list.push(jsonData[i].user.userCode)list.push(jsonData[i].user.phone)list.push(jsonData[i].user.sysDept.name)for (let j = 0; j < table.length; j++) {list.push(this.morning(jsonData[i].list[j].morningState))list.push(this.morning(jsonData[i].list[j].afternoonState))}dataList.push(list)}return dataList},

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-35164.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

Laravel ORM 订单 分表

Laravel ORM 订单 分表创建数据 简介数据库表用户表订单表订单商品表示例ORM新建 `_Model.php`文件。作为基类`Order.php` 订单模型继承_Model`OrderGoods.php` 订单商品继承_Model控制器订单入库访问简介 开发项目,经常碰到订单量暴增的问题,简单点处理,需要给订单表做分表…...

第一次动手构建 Linux 内核(未完待续)

目录背景机器参数参考链接操作流程步骤1&#xff1a;下载 Linux 内核源码步骤 2&#xff1a;解压源码步骤 3&#xff1a;下载所需软件包步骤 4&#xff1a;内核配置步骤 5&#xff1a;开始构建&#xff01;未完待续背景 这两天读《UNIX传奇&#xff1a;历史与回忆》这本书&…...

Spring学习:工厂方法创建 Bean

目录通过调用静态工厂方法创建 Bean通过调用实例工厂方法创建 Bean通过调用静态工厂方法创建 Bean 调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中。当客户端需要对象时, 只需要简单地调用静态方法, 而不同关心创建对象的细节。 要声明通过静态方法创建的 Bean:…...

运行时数据区-虚拟机栈

文章目录谈谈你对虚拟机栈的理解栈帧什么是栈帧&#xff08;Stack Frame)当前栈帧栈帧的内部结构局部变量表Slot操作数栈Operand Stack动态链接方法返回地址一些附加信息虚方法和非虚方法方法的调用&#xff1a;虚方法表面试题方法中定义的局部变量是否线程安全&#xff1f;运行…...

常见运维问题(打印机、重装系统、IE)

连接打印机与驱动安装 制作U盘系统盘 新系统没有网卡时离线驱动安装 IE浏览器安全级别设置 IP地址的查询 处理操作来源于网络资源&#xff08;尊重原创&#xff09;&#xff1a;原创博客链接...

活动目录备份和灾难恢复之自动备份与授权还原

前言 由于服务器系统状态总在变化&#xff0c;因该增加对系统状态备份的频率&#xff0c;来减少备份对服务器工作环境的影响&#xff0c;所以最好是每天晚上对服务器系统状态进行备份&#xff0c;但是单独使用wbadmin命令无法创建系统状态的自动备份计划&#xff0c;此时可以使…...

TCP“三次挥断”的原因TCP延迟确认机制

在学习wireshark抓包的时候&#xff0c;一般都从最简单的三次握手和四次挥断看起&#xff0c;因为这两步对于每一个完整健康的TCP交互流来说都是必不可少的&#xff0c;通过抓包我们可以更清楚的了解其工作机制。 一、四次挥断和“三次挥断” 1、第一种情况 比如在电脑cmd发…...

2021年Java开发爆款推荐!docker部署tomcat

一.java基础面试知识点 java中和equals和hashCode的区别 int、char、long各占多少字节数 int与integer的区别 探探对java多态的理解 String、StringBuffer、StringBuilder区别 什么是内部类&#xff1f;内部类的作用 抽象类和接口区别 抽象类的意义 抽象类与接口的应用…...

阿里P8大牛亲自讲解!java静态变量和实例变量

Redis主从复制 概念 Redis的主从复制概念和MySQL的主从复制大概类似。一台主机master&#xff0c;一台从机slaver。master主机数据更新后根据配置和策略&#xff0c;自动同步到slaver从机&#xff0c;Master以写为主&#xff0c;Slave以读为主。 主要用途 读写分离&#xff1…...

Angular中NgOnInit和Constructor方法之间的主要区别

参考链接&#xff1a;https://chudovo.com/main-differences-between-ngoninit-and-constructor-methods-in-angular/...

redis中的RDB和AOF

redis提供两种方式进行持久化&#xff0c;一种是RDB持久化&#xff08;原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化&#xff09;&#xff0c;另外一种是AOF持久化&#xff08;原理是将Reids的操作日志以追加的方式写入文件&#xff09;。那么这两种持久化方…...

弘辽科技:成为拼多多商家要什么要求?收费吗?

现在也有不少人想要入驻拼多多&#xff0c;但是想要成为拼多多的商家也需要满足对应的要求&#xff0c;同时也想要了解成为拼多多商家是否需要收费&#xff0c;我马上就来给各位卖家们介绍。 拼多多商家入驻平台分四种店铺&#xff0c;这里小编介绍一下旗舰店、专营店入驻基本条…...

超11万字整理完k8s的核心组件pod全部功能详解,理论代码超详细,建议跟着做一遍实验【含 label 标签使用】【1】

文章目录说明【必看】第二篇文章标题和链接第二篇文章标题和链接第三篇文章标题和链接创建及删除pod创建一个pod-1的文件夹和命名空间镜像准备【node节点执行】创建pod【虚拟机】方式1&#xff1a;命令行的方式【不建议】默认创建加imagePullPolicy参数创建说明方式2&#xff1…...

品牌应该如何把握抖音电商的红利:深度拆解花西子如何通过抖音电商一年销售1亿+

最近抖音电商正在逐渐起势&#xff0c;前一阵子老赵去参加了抖音的电商大会和千川大会&#xff0c;从这两个会的火爆程度我们就可以看出&#xff0c;越来越多的品牌正在涌向抖音电商平台&#xff0c;并且越来越重视这个平台。抖音电商将是品牌们的新战场&#xff0c;这个平台让…...

你不知道的JS思考题

思考题 1、对比空值和对象的类型 思路&#xff1a; typeof null "object" typeof {} "object"答案 var a null ; (!a && tpeof a object); 补充&#xff1a; 内置类型typeof null "object" 祖传bug undefined "undefined&…...

Layui快速入门(2021.06.15)

第一步&#xff1a;下载layui文件 第二步&#xff1a;新建项目&#xff0c;导入下载的文件夹 第三步&#xff1a;参考文档开发 1.layui入门html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>la…...

Mysql异常之Communications link failure

前天线上出现数据数据抖动&#xff0c;收到大量异常告警&#xff0c;都要疯了&#xff0c;数据库出现大量异常&#xff0c;肯定第一件事就是看下数据库监控数据&#xff0c;发现有一个从分片执行时间有一个50多秒的操作&#xff0c;这里肯定有问题了&#xff0c;第一时间找了db…...

储备未完待续

储备 如何精准熬一人份的粥 如何快速晾凉一碗粥 3M手套和钢铁侠 洗手盆三件套 三种门锁、两个门锁 制作书签的一种方法 摩托车和汽车的排气筒 变形金刚和巴巴爸爸 横向冲击和纵向冲击 我和图书馆 影响我的三本书 曲黎敏、亨利我们会追上你的、穷理查历书...

git知识点查阅

若自己在自己的电脑上修改了某一代码&#xff0c;而此时远程分支上对应的代码别人也做了修改&#xff0c;现在需要把远程分支的代码和自己本地的代码合并到本地电脑&#xff0c;操作&#xff1a; git stash git pull git stash pop...

如何成为一个成功的 Java 开发人员?

【此文章转自乐字节】 如果你是一名成功的Java程序员&#xff0c;那么在任何公司中的Java开发人员中&#xff0c;你都有机会获取一席之地。 前言 在当今时代&#xff0c;有很多编程语言可能会塑造我们的未来。然而&#xff0c;当我们开始学习编程时&#xff0c;我们总是从C语…...

wordpress新创建文章404问题解决

修改httpd.conf 找到AllowOverride None修改为ALL...

如何快速打好Java基础 初学者常用哪些工具

如何快速打好Java基础&#xff0c;初学者常用哪些工具&#xff1f;从来不认为学好技术能和快速划上等号&#xff0c;对于技术而言&#xff0c;快速掌握的只是大体的技术框架&#xff0c;想要深入学习&#xff0c;还是需要时间的沉淀和技术经验的积累。 对于初学者而言&#xff…...

毕设系列 -- 基于STM32的人体红外测温枪温度采集系统

文章目录1 简介2 主要器件3 实现效果4 设计原理MLX90614 红外温度传感器5 部分实现代码6 最后1 简介 Hi&#xff0c;大家好&#xff0c;这里是丹成学长&#xff0c;今天向大家介绍一个学长做的单片机项目 基于STM32的人体红外测温枪温度采集系统 大家可用于 课程设计 或 毕业…...

DEDE织梦如何做中英文多语言站

说道中英文站&#xff0c;是很多用户想用dedecms织梦程序做多语言站&#xff0c;下面网分享下做中英文多语言版本的站点如何操作&#xff0c;希望能帮助到大家。 一、首先在后台建栏目&#xff0c;有三点需要注意 1.需要做几种语言就加几个大的栏目。 2.栏目“常规选项”的文…...

C/C++问题处理:(Leetcode) Line 16: Char 21: error: redefinition of ‘j‘ for(int j=0,j<n;j++)

今天刷leetcode 遇到了个小问题&#xff1a; redefinition of j 意思是 j 这个变量重复定义&#xff0c;可往前检查了一遍&#xff0c;并没有定义这个变量。 网上的解释都是说&#xff1a;目标头文件.h没有加条件编译语句 其实还有一种情况&#xff0c;就是像上面代码里 f…...

P2058 [NOIP2016 普及组] 海港 题解

P2058 [NOIP2016 普及组] 海港 题解 题目描述 小K是一个海港的海关工作人员&#xff0c;每天都有许多船只到达海港&#xff0c;船上通常有很多来自不同国家的乘客。 小K对这些到达海港的船只非常感兴趣&#xff0c;他按照时间记录下了到达海港的每一艘船只情况&#xff1b;对…...

python100例045求1-100之和用sum(range(1,101))

""" 题目045&#xff1a;统计 1 到 100 之和 """ def test045():count 0for i in range(1, 101):count iprint(count)# 二print(sum(range(1, 101))) test045()...

Laravel ORM 订单 分表

Laravel ORM 订单 分表创建数据 简介数据库表用户表订单表订单商品表示例ORM新建 `_Model.php`文件。作为基类`Order.php` 订单模型继承_Model`OrderGoods.php` 订单商品继承_Model控制器订单入库访问简介 开发项目,经常碰到订单量暴增的问题,简单点处理,需要给订单表做分表…...

限定网页在固定IP范围内访问

<?php // 限制IP测试 /** * HOST访问限制 支持 IP(单IP,多IP,*通配符,IP段) 域名(单域名,多域名,*通配符) * 根据判断实现IP地址 白名单黑名单 * Author:70(qq781787584) * @param unknown $host 当前host 127.0.0.2 * @param unknown $list 允许的host列表 127.0.0.*,192…...

AI悦创·私教答疑|Python 字符串数字顺序分割

你好&#xff0c;我是悦创。 这里我就直接上我学员的提问&#xff1a; def strSplit(strSplit):if not strSplit.isdigit():return Nonestart_index 0end_index 2for _ in range(len(strSplit)):r strSplit[start_index:end_index]if len(r) > 1:print(r)start_index 1…...

dbc2000 注册机|dbc2000 注册码注册机下载

点击下载来源&#xff1a;dbc2000 注册机 dbc2000 注册机是同名源程序软件的注册机软件&#xff0c;该源程序软件是一款应用于数据库搭建以及数据写入的数据库架设工具&#xff0c;它拥有强大的数据写入功能&#xff0c;在作为应用程序使用时&#xff0c;它不仅可以充当数据属性…...

秋招面经第八弹:网易二面-数据开发工程师

秋招第八弹&#xff1a;网易二面-数据开发工程师 写在最前&#xff1a;秋招以来一直在冲&#xff0c;因为事情比较多&#xff0c;对于笔试面试一直没有复盘&#xff0c;现在靠仅存的记忆把面试的一些问题记录下来&#xff0c;尽可能记录出能回忆到的问题&#xff0c;但可能记的…...

安卓课程格子APP

https://download.csdn.net/download/weixin_57836618/73810452 功能演示&#xff1a; 查看所有课程 点击主页面空白处即可添加课程 添加课程之后查看课程 查看双周课程 查看单周课程 6.查看课程详情...

强化学习——格子世界

强化学习——格子世界 项目源码地址&#xff1a;https://gitee.com/infiniteStars/machine-learning-experiment 1. 实验内容 2. 实验代码 import numpy as np import matplotlib.pyplot as plt from matplotlib.table import Table from xml.dom.minidom import Document #手…...

华为机试 - 跳格子游戏

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 地上共有N个格子&#xff0c;你需要跳完地上所有的格子&#xff0c;但是格子间是有强依赖关系的&#xff0c;跳完前一个格子后&#xff0c;后续的格子才会被开启&#xff0c;格子间的依赖关系由多组st…...

php 爬课程表信息,Ruby爬取教务系统生成课程表

我为什么要虐自己最近觉得课程格子广告越来越多&#xff0c;乱七八糟的东西越来越多&#xff0c;完全失去了一开始的存在价值&#xff0c;并且没有电脑端app&#xff0c;想查看课程必须拿出手机&#xff0c;而我使用电脑频率要比手机高&#xff0c;所以才有了折腾的动力。于是我…...

android 课程表 ui,UICollectionViewLayout实现课程表布局

因为项目中有课程表的相关模块&#xff0c;第一时间想到用UICollectionView。然而后期的需求越来越复杂&#xff0c;每个格子需要展示的内容越来越多&#xff0c;所以不得不寻找合适的解决方案。最后发现自定义UICollectionViewLayout可以实现我的需求。先放效果图&#xff1a;…...

Android自定义View课程表,Android 自定义View课程表表格

自己闲下来时间写的一个课表控件使用的自定义LinearLayout 里面View都是用代码实现的 最终效果如下图 写的可能有问题希望多多指点创建一个自定义LinearLayout 控件用来装载课程的信息和课程的周数 和节数大概的布局三这样的根据上面的看来觉得总体布局我分了两个 上面的星期是…...

java课程设计设计_java课程设计

1. 团队课程设计博客链接https://www.cnblogs.com/choco1ate/p/12172223.html2.本组课题及本人任务本组课题&#xff1a;泡泡堂(炸弹人)游戏本人任务&#xff1a;Box类(游戏地图中的每个方格)Bomb类(游戏过程中的)游戏玩家输赢信息的文件储存3.需求分析Box类&#xff1a;该类为…...

《课程格子》的一个笔试题目

题目如下&#xff0c;感觉很适合喜欢琢磨的程序员&#xff0c;也是考验你编码风格的时候。 Lets make a tower defense game&#xff08;塔防游戏):1. You have 1 tower, with H health and D dps(damage per second).2. There are n attackers, each with h_i health and d_i …...

Android仿照超级课程表 or 课程格子 一键提取课表功能(方正系统)

参考文章http://blog.csdn.net/sbsujjbcy ,本文仿照‘ 安卓弟 提供的android 项目实战——打造超级课程表一键提取课表功能文章&#xff0c;对他的代码进行了修改和补充&#xff0c;为什么要修改呢&#xff1f;原因是安卓弟的那个源码版本过于老旧&#xff0c;很多方法已经过…...

oracle 12.1.0.2 使用 MAA 架构之二 add standby node

os: centos 7.4 db: oracle 12.1.0.2 上一篇文章介绍了搭建 rac adg rac&#xff0c;现在再添加一个 standby 节点 standby2(非rac&#xff0c;使用asm存储) rac adg 信息如下 primary standby1 standby2 hosts node1,no…...

ORACLE 12C RAC ADG(MAA)

前言总结&#xff1a; 本次的ORACLE 12C ACTIVE DATAGUARD的安装过程&#xff0c;表述较为浅显&#xff0c;后期会更加深入的研究12C ADG的各功能 总体安装情况&#xff0c;步骤与11g并未有太大区别&#xff0c;此处做记录供大家参考 背景&#xff1a; 类型 os version d…...

MAA_example01

MAA 1)comparison preview 2-nodes > 1-node rac to dataguard reference http://www.oracledba.org primary node: Operation System: rhel5.4 Oracle Version: oracle 10g > 10.2.0.1 Shared Storage: ASM Oracle Home: /u01/app/oracle/product/10...

高分子单分散聚苯乙烯纳米微球/羧基功能化丙烯酸(AA)聚苯乙烯微球/羧基功能化甲基丙烯酸(MAA)聚苯乙烯微球

高分子单分散聚苯乙烯纳米微球/羧基功能化丙烯酸(AA)聚苯乙烯微球/羧基功能化甲基丙烯酸(MAA)聚苯乙烯微球 将十二烷基硫酸钠和一定量去离子水在室温下加入四颈烧瓶中&#xff0c;搅拌混合液至澄清后&#xff0c;加入NaOH/NaHCO3的缓冲溶液和苯乙烯&#xff0c;搅拌2h后快速升…...

飞思卡尔S12系列(基于MC9S12XET256MAA和/MC9S12XEP100)中断PIT资料总结和分享

核心内容就在这张图上&#xff1a; 相信大家都明白总线的概念&#xff0c;在图中可以看到6个定时器模块&#xff0c;Micro Timer 0、Micro Timer 1、Timer 0、Timer 1、Timer 2、Timer 3&#xff0c;其中前两个是8位的&#xff0c;后四个是16位的。从图中可以看出PIT模块是以总…...

oracle 12.1.0.2 使用 MAA 架构之三 connect primary standby database by service name

os: centos 7.4 db: oracle 12.1.0.2 primary 和 standby 都创建两个 service:workload 和 reports 其中 workload 是运行在 primary 上,reports 是运行在 standby 上. Application Service Considerations with Data Guard: In an Oracle Data Guard configuration, applic…...

Oracle MAA--Maximum Availability Architecture

系统环境&#xff1a; 操作系统&#xff1a;RedHat EL5 Oracle&#xff1a; Oracle 10gR2 Cluster&#xff1a; CRS 10.2.0.1 Maximum Availability Architecture 最高可用性架构 MAA 配置案例&#xff1a;通过DG实现RAC to RAC的Physical DG,实现数据的容灾。 1、…...

飞思卡尔S12系列(基于MC9S12XET256MAA和/MC9S12XEP100)锁存器资料总结和分享

最近在公司做项目&#xff0c;用到飞思卡尔S12系列芯片&#xff0c;为了让自己养成良好习惯&#xff0c;以后每做一部分&#xff0c;都会总结出来&#xff0c;方便自己和他人。 今天讲讲飞思卡尔锁存器部分。 CRG时钟合成寄存器&#xff08;SYNR&#xff09; 读&#xff1a;任何…...

oracle 12.1.0.2 使用 MAA 架构之一 setup rac + adg + rac

os: centos 7.4 db: oracle 12.1.0.2 oracle MAA 架构就是 rac adg broker rac. rac adg 信息如下 primary standby1 hosts node1,node2 nodea,nodeb db_name orcl0 …...