小爬之前的文章 [Excel VBA中写SQL,这些问题你一定为此头痛过]中详细讲诉了一些常见的VBA 中使用SQL遇到的问题,这里再补充两个常见的问题场景及对应的解决方案,希望你们看了后能够思路开阔些,少走些弯路. 一.数据源Excel文件的工作表有些列的列名相同 我们知道,在商业数据库中创建表时,同一个表名下是不允许创建相同的字段的,且字段名要遵从一定规范.但在Excel文件中则无此限制,同一个工作表下,支持多列的列名相同.那么当我们用SQL来操作这类头疼的Excel文件时,该如何区分不同字…
每每提到Excel办公自动化,我们脑海里能想到的就是公式.数据透视表.宏.VBA,这也是我们大部分人数据分析的进阶之路.当我们对于常用VBA技巧已经相当熟练后,往往会有一种"我的VBA知识够用啦"的错觉,其实那只是因为我们收到的实际需求还不够复杂和多样化. 一旦哪天碰到略显复杂的业务需求时,我们才知道VBA变量.循环.条件判断.数组.字典.窗体,这些还只是VBA的基础知识罢了,会了这些,远达不到[蒂花之秀]的水准.我们今天的主角,SQL(结构化查询语言),通过嵌入VBA代码中,就可以解…
小爬在之前的博文中多次提到,可以在VBA中写SQL来操作Excel文件,实现各类数据处理和分析需求.那么,你可能有这样的疑问:Excel原生的VBA,数据透视表,数据分析功能不够吗,为啥一定要用SQL来实现呢?在Excel VBA中使用SQL到底优势在哪儿?今天小爬就来带大家好好捋一捋这些问题. 首先,在VBA中写SQL,这基本算VBA的高阶功能,不是所有人都掌握,因此,上述的场景除了SQL,确实都有其它技术方案.其次,如果我们对别的技术运用的更熟练,我们完全可以用自己最擅长的技术栈来解决问题.…
本文会使用一个案例,就mybatis的一些基础语法进行讲解.案例中使用到的数据库表和对象如下: article表:这个表存放的是文章的基础信息 -- ---------------------------- -- Table structure for article -- ---------------------------- DROP TABLE IF EXISTS `article`; CREATE TABLE `article` ( `article_id` ) NOT NULL AU…
Excel开发过程中有时候会遇到各种奇怪的问题,下面就列出一些本人在开发中遇到的一些比较典型的问题,并给出了解决方法,希望对大家有所帮助. 一 插件调试不了以及错误导致崩溃的问题 在开发机器上,有时可能会装有多个版本的.NET运行时,有时候也可能装有多个版本的Visual Studio,本人的开发机器上就安装了3个版本的Visual Studio,在最新的Visual Studio 2013出来之后,就迫不及待的把工程文件迁移到2013上来了,但是在设置了启动程序之后,调试的时候,断点根本不能命…
使用Excel录入数据的时候我们通常使用下拉列表来限定输入的数据,这样录入数据就很少发生错误了.Excel 2013较以前的版本发生了很大的变化,那么在Excel 2013是如何添加下拉列表的呢? 下面Office办公助手的小编就以“性别”中下拉选择男女为例,讲解下Excel 2013中添加下拉列表的方法.更复杂的大家可以举一反三,方法是一样的. 1.首先要选中你要添加下拉列表的单元格. 2.在菜单栏上选择数据--数据验证--数据验证. 3.打开如图所示的对话框,切换到设置选项下. 4.将允许条…
每30秒连接一次服务器,连接成功单元格变绿色,连接失败变红色,状态单元格为17行,2列 1,打开excel文件,进入vba编辑器,新建一个modules模块,在里面先写一个每30秒执行一次ConnServer宏 Sub StartTimer() Application.OnTime Now + TimeValue("00:00:30"), "StartTimer" ConnServer End Sub 2,再编写一个访问服务器代码的宏 Client.BaseUrl…
最近做程序,时不时需要自己去手动将sql语句直接写入到Java代码中,写入sql语句时,需要注意几个小问题. 先看我之前写的几句简单的sql语句,自以为没有问题,但是编译直接报错. String str = "insert into XXX(a,b,c) values ('"a.getA()"','"a.getB()"','"a.getC()"');"; 研究了半天发现应该是连接字符串问题,第一次修改过后将赋值字段前后加“+”…
第一种(用Mapper.xml映射文件中定义了操作数据库sql) 注意点: 1.#{}与${} #{}表示一个占位符,使用占位符可以防止sql注入, ${}通过${}可以将parameterType传入的内容拼接在sql中,不能防止sql注入,但是有时方便 例 SELECT * FROM USER WHERE username LIKE '%${value}%' 再比如order by排序,如果将列名通过参数传入sql,根据传的列名进行排序,应该写为: ORDER BY${columnName}…
1以注解方式 //两个参数其中一个是对象需写,对象.属性 @Update("update delivery_address set consignee = #{address.consignee},country = #{address.country},city = #{address.city},address = #{address.address},phone_number = #{address.phoneNumber},telnumber = #{address.telNumber}…