EXCEL单元格的获取——多例模式
因为Excel的单元格的行列与单元格是一一相应的,行与列组成的是一对联合主键。给定一个单元格行列或者给定一个单元格名称。须要找到相应的单元格;这样就形成了一种映射关系。须要使用单例模式的变式——多例模式,进行实现。
多例模式的核心是用一个HashMap<K,V>来实现这样的映射关系。V明显是目标单元格。K必须保存单元格的行与列一一相应信息,能够用单元格名称来表示;实现代码例如以下:
import java.util.ArrayList;
import java.util.HashMap; /**
* @author lcx
*
*/
public class CellMap { private static HashMap<String,CellMap> map=new HashMap(); private CellMap(String cellName)
{
System.out.println("新建一个:"+cellName);
map.put(cellName, this);
} public static CellMap getInstance(int row,int col)
{
return getInstance( cellName(row,col));
} public static CellMap getInstance(String cellName)
{
if(map.get(cellName)!=null)
return map.get(cellName);
else
return new CellMap(cellName);
} private static String cellName(int row,int col)
{
ArrayList<Character> list=new ArrayList();
while(col>0)
{
list.add((char) (col%26+'A'-1));
col/=26;
}
StringBuffer buffer=new StringBuffer();
for(int i=list.size()-1;i>=0;i--)
buffer.append(list.get(i));
buffer.append(""+row);
return buffer.toString();
} public static void main(String[] args) {
//首次获取
for(int i=1;i<10;i++)
for(int j=1;j<10;j++)
{
CellMap.getInstance(i, j);
}
//再次获取
for(int i=1;i<10;i++)
for(int j=1;j<10;j++)
{
CellMap.getInstance(i, j);
}
} }
EXCEL单元格的获取——多例模式的更多相关文章
- C# 对Excel 单元格格式, 及行高、 列宽、 单元格边框线、 冻结设置
一.对行高,列宽.单元格边框等的设置 这篇简短的文字对单元格的操作总结的比较全面,特此转载过来. private _Workbook _workBook = null; private Workshe ...
- python excel单元格及样式
python excel单元格及样式: #!/usr/bin/env python # -*- coding: utf-8 -*-” #只对当前文件的中文编码有效 # Filename : Write ...
- Spire.Cloud.SDK for Java 合并、拆分Excel单元格
Spire.Cloud.SDK for Java 是Spire.Cloud云产品系列中,用于处理Word.Excel.PowerPoint以及PDF文档的JAR文件,可执行文档编辑.转换.保存等操作. ...
- C#/VB.NET 在Excel单元格中应用多种字体格式
在Excel中,可对单元格中的字符串设置多种不同样式,通常只需要获取到单元格直接设置样式即可,该方法设置的样式会应用于该单元格中的所有字符.如果需要对单元格中某些字符设置样式,则可以参考本文中的方法. ...
- Excel 单元格自定义格式技巧总结
第一部分 Excel 中的单元格格式是一个最基本但是又很高级的技能,说它基本是因为我们几乎天天都会用到它,会用它来设置一些简单的格式,比如日期,文本等等:高级是因为利用 Excel 单元格的自定义格式 ...
- 简单介绍Excel单元格行列指示的实现原理(俗称聚光灯功能)
原始出处:www.cnblogs.com/Charltsing/p/CellLight.html QQ:564955427 Excel单元格行列指示的实现原理(俗称聚光灯功能) 单元格行列指示功能在录 ...
- poi 升级至4.x 的问题总结(POI Excel 单元格内容类型判断并取值)
POI Excel 单元格内容类型判断并取值 以前用 cell.getCachedFormulaResultType() 得到 type 升级到4后获取不到了 换为:cell.getCellType( ...
- Excel单元格内容拆分、合并
例:如何将EXCEL单元格A1中的“1-2-1”,在B1.C1.D1单元格中分别显示”1“.”2“.”1“.方法一: 在B1中输入“=mid(A1,1,1)”在C1中输入“=mid(AI,3,1)”在 ...
- dev gridview指定单元格cell获取坐标
DevExpress.XtraGrid.Views.Grid.ViewInfo.GridViewInfo Info2 = gvQueryResult.GetViewInfo() as DevExpre ...
随机推荐
- Lodash数组方法中文总结
LodashAPI总结 Lodash是一个特别特别好用的工具,感觉有了Lodash就没有解决不了的问题了~~~~ 使用初开始 官网 https://www.lodashjs.com/docs/4.17 ...
- web pack 生成本地dist后 本地可以访问 路径由/ 改 ./
config / index.js 里面将 / 改成 ./ 有两个 都改了 反正管用 然后npm run build 如果涉及到字体 css里面不会改 需要手工改成 ../../ 反正一般用到字体也不 ...
- 下载GitHub指定目录的文件
使用网站 https://minhaskamal.github.io/DownGit/#/home
- CE工具里自带的学习工具--第二关
图解:
- ERStudio8.0 破解版 下载
下面地址亲测有效 https://blog.csdn.net/weixin_37139761/article/details/83856069
- CAD参数绘制椭圆(com接口)
在CAD设计时,需要绘制椭圆,用户可以设置椭圆的基本属性. 主要用到函数说明: _DMxDrawX::DrawEllipse 绘制椭圆.详细说明如下: 参数 说明 DOUBLE dCenterX 椭圆 ...
- CAD参数绘制点(网页版)
点在CAD中的作用除了可以分割对象外,还能测量对象,点不仅表示一个小的实体,而且通过点作为绘图的参考标记. pdmode是一个控制point的形式的系统变量,当pdmode=0时是可见的一个点,当pd ...
- 【C语言】控制台窗口图形界面编程(四):文本输出
目录 00. 目录 01. FillConsoleOutputAttribute函数 02. FillConsoleOutputCharacter函数 03. WriteConsoleOutputCh ...
- uglifyjs压缩批处理,.bat文件启动
我们不可能每次都打开cmd去键入压缩执行代码,容易写错不说(如上面那个结果图),还耗时,想想都会让人疯掉. 懒人有懒法,花了点功夫,折腾了一个批处理文件,以后,想要压缩JS,只要双击运行这个.bat文 ...
- CSU1011: Counting Pixels
Description Did you know that if you draw a circle that fills the screen on your 1080p high definiti ...