首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Java 导出Excel增加下拉框选项

excel对于下拉框较多选项的,需要使用隐藏工作簿来解决,使用函数取值来做选项 选项较少(一般少于5个): private static DataValidation setFewDataValidation...sheetHidden.createRow(j).createCell(index).setCellValue(dataList.get(j)); //设置对应单元格的值 } } } index 代表第几个下拉框...,也就是在隐藏工作簿的第几列,dataList表示下拉框的内容 创建公式: String strFormula = “Sheet2!...$” + arr[index] + “$1:$” + arr[index] + “$” + dataList.size(); Sheet2第A1到A5000作为下拉列表来源数据 xls和xlsx生成下拉框的选项不一样..."); dataValidation.createPromptBox("提示", "只能选择下拉框面的数据"); return dataValidation; } 加入工作簿: sheet.addValidationData

1.4K20

如何打开win10面的ubuntu系统

这估计是很多极客弃离windows,选择使用mac或者linux桌面的原因。但mac贵,所以没有钱又不堪windows流氓软件烦扰的穷极客(比如一番)便热衷使用ubuntu桌面系统。...因为大多数朋友使用的都是windows系统,想要使用这个工具只能重新安装ubuntu系统或者在vmware、vbox安装虚拟机来运行程序。...开启“适用于Linux的Windows子系统” 如下图,依次点击:开始(windows)→设置→应用和功能→程序和功能→启用或关闭Windows功能→适用于Linux的Windows子系统,选中前面的选择框既可...开启“开发人员模式” 如下图,依次点击:开始(windows)→设置→更新和安全→开发者选项→开发人员模式,点击前面的单选框即可。 ? 3....在win10运行ubuntu系统 安装成功后便可在开始菜单向打开一个应用一样打开ubuntu的运行环境。我们便有了一个windows下运行ubuntu的环境了。

6.9K20

聊聊Java面的引用传递

只有认清了Java里面存在指针,承认指针,我们才能更加自信的理解Java语言。...注意这个异常,叫空指针异常,在Java里面任何对象没有初始化的时候,如果我们使用其内部属性,就会抛出上面的信息,这也从侧面反映了dog这个变量的作用,其实就是指针,而并非引用。...你可能要说很简单啊,方法里面的作用域,只在方法生效,出了方法就无效了。真的是这样吗?...new Dog("CAT"); dog.name="cat"; } 在第2.1步,我们通过dog指针=7777的数据,重新改变了其名称,这意味着内存地址7777的数据,被修改了,后面的两行改的是内存地址...所以,这个时候如果按照值传递(指针传递)的理解,来看上面的例子,你就会恍然大悟。

72810

理解Java面的代理模式

Java面的代理 在Java里面总体上有三种代理实现: (1)静态代理 例子如下: 定义一个接口 public interface Animal { public String run();...",12); map.get("1"); map.size(); } 然后,我们就能感受它的强大之处,只要是有接口声明的类,都可以采用这个方法来统计耗时,比如上面的...3.2.8 动态代理原理分析 代理模式的技术核心有三点: (1)动态字节码生成 (2)动态字节码类的装载 (3)反射调用真实角色的方法 理解了上面的内容学习代理模式就非常容易...,先从JDK动态代理说起,前面说到JDK动态代理的会在运行时生成接口的实现类,并且该实现类会继承Proxy类,所以也注定了JDK动态代理只能代理接口不能代理类,因为Java不支持多继承,在使用的时候我们执行方法调用会从代理角色经过...总结 本文主要介绍了代理模式的应用,并结合实际的例子详细的描述了Java里面三种代理模式的原理和实现,代理模式是一项非常有用的技术,通过代理角色转发请求,可以实现非常灵活的扩展功能。

1K10

理解Java并发里面的CAS概念

前言 我们知道在Java多线程里面关于共享变量的操作,一定是要使用线程同步来保证线程安全的,一旦涉及线程同步,就需要加锁,一旦加锁就意味着某一个时候只能有一个线程在操作,其他的线程如果没有得到锁就会阻塞起来...,此时的线程的状态是BLOCKED,当前面的线程释放锁的时候,系统会自动调度当前的线程进入临界区,这里面存在一个问题,就是线程的上下文切换的问题,虽然比起来进程的上下文切换,线程的上下文切换更轻量级,但仍然也是有一定开销的...CAS 缺点 (1)ABA问题 通过上面的解释,我们知道CAS的原理是读取两个时刻的值,然后比较是否一致再决定是否更新,如果不一致,那么就需要多循环几次直到更新成功,这里面有一个问题假如第一次读到的预期值是...,当操作涉及跨多个共享变量时 CAS 无效;不过从 JDK 1.5开始提供了 AtomicReference 类来保证引用对象之间的原子性,你可以把多个变量放在一个对象里来进行 CAS 操作 CAS与Java...并发工具包的关系 java.util.concurrent包里面的工具类基本全部都是使用了CAS+volatile的乐观锁机制,也就是说Java并发工具包里面的大多数类底层是构建在CAS+volatile

1K30

Java使用AspectJ实现AOP

前言 已经正式从NET转型JAVA。今后开始多写一点JAVA相关的文章。 因为已经正式转Java了,所以,对于Java的一些判断,应该就比以前更准确了。...总得来说,java有好的东西,有不好的东西,就语言本身和java的常用组件来讲,并不能判断,java比其他语言高一个档次,当然,也不会低一个档次。应该跟其他语言是一个段位的。...而且Java工资确实相对比其他语言高。 总体来说,java是比较幸福的。...开始正文 Aspectj提供一种在字符串编程的模式,即在字符串写函数,然后程序启动的时候会动态的把字符串的函数给执行了。 例如: "execution(* *(..))"...Arrays.asList(point.getArgs()); log.info("调用前连接点方法为:" + methodName + ",参数为:" + args); } 还可以将注解和前面的

14210

略懂Java编程(一):Java世界的对象

同样一个道理,我们在Java的世界,我就属于一家公司的CEO,属于一辆汽车的设计者,我可以设计我需要的class,通过组合关系,完成一个高质量的程序开发。所有的对象都是我的程序的服务者!...进行一些有必要的隐藏是非常重要的,主要有两个方面的好处。首先是自己内部的事情自己解决,别人无法干涉内政。也不用操心是否对外部有什么影响。然后就是不给别人看的东西别个看不见管不着。...在Java世界也是一样的,一个子类继承了一个父类,这个时候子类就拥有的父类的可继承的一些能力。但是,如果到处都是用继承来复用类,就会把关系搞的很复杂。继承了一个父类,那么父类的接口直接继承给了子类。...ArrayList extends AbstractList implements Cloneable, Serializable, RandomAccess{} 我们暂且不看后面的代码...小结 Java的世界和我们的世界是一样的,唯一不同的是Java世界的对象可以new出来,哈哈。

62620
领券