精华内容
下载资源
问答
  • 判断单元格值的类型的函数
    2022-04-27 09:56:19

    public String getCellFormatValue(Cell cell,String str ){
    		if(cell == null){
    			return "";
    		}
    		String cellValue = "";
    		switch (cell.getCellType()) {
    		case Cell.CELL_TYPE_STRING:
    			cellValue = cell.getRichStringCellValue().toString();
    			break;
    		case Cell.CELL_TYPE_NUMERIC:
    			if(HSSFDateUtil.isCellDateFormatted(cell)){
    				Date dates = cell.getDateCellValue();
    				if(str.equals("hours")){
    					cellValue = dates.getHours() + ":" +dates.getMinutes();
    				}else{
    					SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    					cellValue = dateFormat.format(dates);
    				}
    			}else {
    				Double  doubles = cell.getNumericCellValue();
    				if(doubles == doubles.intValue()){
    					cellValue = doubles.intValue() + "";
    				}else{
    					cellValue = doubles +"";
    				}
    			}
    			break;
    		case Cell.CELL_TYPE_FORMULA:
    			try {
    				 cellValue = String.valueOf(cell.getNumericCellValue());    
    			} catch (IllegalStateException e) {
    			    cellValue = String.valueOf(cell.getRichStringCellValue());
    			}
    			break;
    		case Cell.CELL_TYPE_BOOLEAN:
    			cellValue = String.valueOf(cell.getBooleanCellValue());
    			break;
    		default:
    			cellValue = cell.toString();
    			break;
    		}
    		return cellValue;
    	}

    更多相关内容
  • poi 取excel单元格内容时,需要判断单元格类型,才能正确取出 以下内容非原创,原文链接http://blog.sina.com.cn/s/blog_4b5bc01101015iuq.html ate String getCellValue(HSSFCell ce ... 随机推荐 django 项目的...

    个人用到的

    String birthdayVal = null;

    switch (cell_2.getCellTypeEnum()) {

    case STRING:

    birthdayVal = cell_2.getRichStringCellValue().getString();

    break;

    case NUMERIC:

    if("General".equals(cell_2.getCellStyle().getDataFormatString())){

    birthdayVal =DateToStr(HSSFDateUtil.getJavaDate(cell_2.getNumericCellValue()));

    }else if("m/d/yy".equals(cell_2.getCellStyle().getDataFormatString())){

    birthdayVal = DateToStr(cell_2.getDateCellValue());

    }else{

    birthdayVal = DateToStr(HSSFDateUtil.getJavaDate(cell_2.getNumericCellValue()));

    }

    break;

    default:

    x = i+1;

    throw new AWSForbiddenException("导入文件的第["+x+"]行的[出生年月]的格式有问题,请检查!",null);

    }

    /**

    * 日期转换成字符串

    */

    public static String DateToStr(Date date) {

    java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");

    String str = format.format(date);

    return str;

    }

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    poi3.5之前的版本

    switch (cell.getCellType()) {

    case HSSFCell.CELL_TYPE_NUMERIC: // 数字

    //如果为时间格式的内容

    if (HSSFDateUtil.isCellDateFormatted(cell)) {

    //注:format格式 yyyy-MM-dd hh:mm:ss 中小时为12小时制,若要24小时制,则把小h变为H即可,yyyy-MM-dd HH:mm:ss

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

    value=sdf.format(HSSFDateUtil.getJavaDate(cell.

    getNumericCellValue())).toString();

    break;

    } else {

    value = new DecimalFormat("0").format(cell.getNumericCellValue());

    }

    break;

    case HSSFCell.CELL_TYPE_STRING: // 字符串

    value = cell.getStringCellValue();

    break;

    case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean

    value = cell.getBooleanCellValue() + "";

    break;

    case HSSFCell.CELL_TYPE_FORMULA: // 公式

    value = cell.getCellFormula() + "";

    break;

    case HSSFCell.CELL_TYPE_BLANK: // 空值

    value = "";

    break;

    case HSSFCell.CELL_TYPE_ERROR: // 故障

    value = "非法字符";

    break;

    default:

    value = "未知类型";

    break;

    }

    poi3.5以后版本

    switch (cell.getCellTypeEnum()) {

    case STRING:

    value = cell.getRichStringCellValue().getString();

    break;

    case NUMERIC:

    if("General".equals(cell.getCellStyle().getDataFormatString())){

    value = df.format(cell.getNumericCellValue());

    }else if("m/d/yy".equals(cell.getCellStyle().getDataFormatString())){

    value = sdf.format(cell.getDateCellValue());

    }else{

    value = df2.format(cell.getNumericCellValue());

    }

    break;

    case BOOLEAN:

    value = cell.getBooleanCellValue();

    break;

    case BLANK:

    value = "";

    break;

    default:

    value = cell.toString();

    break;

    }

    poi 升级至4.x 的问题总结(POI Excel 单元格内容类型判断并取值)

    POI Excel 单元格内容类型判断并取值 以前用 cell.getCachedFormulaResultType() 得到 type 升级到4后获取不到了 换为:cell.getCellType( ...

    Excel单元格内容太多会覆盖遮住下一单元格范围

    Excel单元格内容太多会覆盖遮住下一单元格范围分步阅读 Excel中的单元格内容,有着不同的对齐方式.用户可根据自己的需求,在处理数据的时候,自行设置所需要的对齐方式. 当您在处理数据的时候,如果设 ...

    excel 单元格内容太多,替换有问题

    excel 单元格内容太多,替换有问题

    Excel单元格内容拆分、合并

    例:如何将EXCEL单元格A1中的“1-2-1”,在B1.C1.D1单元格中分别显示”1“.”2“.”1“.方法一: 在B1中输入“=mid(A1,1,1)”在C1中输入“=mid(AI,3,1)”在 ...

    excel单元格内容拆分

    这几天在整理数据,但是数据都在表格的一个单元格中,看起来很不方法,所以在网上找到excel单元格内如拆分的方法,并亲测有效 介绍2种拆分的方法 方法一: (1)在B1输入公式=right(text,[ ...

    使用poi导出Excel,并设定单元格内容类型,抛出异常

    本例子使用的是HSSF,为Excel2003提供处理方案. 设定为输入类型为数值 import org.apache.poi.hssf.usermodel.DVConstraint; import o ...

    Excel单元格内容批量加前缀

    比如83190001在A1单元格,要在A列单元内容前面批量加0,在B1输入公式="0"&A1然后向下复制再把B列复制的结果再复制一下:然后到新的一列粘贴,在“粘贴选项”中选 ...

    excel单元格内容合并

    这几天在整理数据,有时候数据都在表格的不同单元格中,想把两格内容合并为一格,于是验证了两种方法 方法一: (1)在B1输入公式=A1&B1 (2)做完第一步后,选中B1后,鼠标移到单元格右下出 ...

    poi 取excel单元格内容时,需要判断单元格的类型,才能正确取出

    以下内容非原创,原文链接http://blog.sina.com.cn/s/blog_4b5bc01101015iuq.html ate String getCellValue(HSSFCell ce ...

    随机推荐

    django 项目的文件说明

    参见官方教程的mysite项目 mysite--- manage.py db.sqlite3 #数据库文件 mysite--- #项目文件夹 __init__.py settings.py urls. ...

    MyBatis学习 之 四、MyBatis配置文件

    目录(?)[-] 四MyBatis主配置文件 properties属性 settings设置 typeAliases类型别名 typeHandlers类型句柄 ObjectFactory对象工厂 pl ...

    Codeforces Gym 100733H Designation in the Mafia flyod

    Designation in the MafiaTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/c ...

    IOS图片的两种处理:加阴影和变灰色

    #import //图片阴影 UIImageView *img; [[img layer] setShadowOffset:CGSize ...

    ArcGis——好好的属性表,咋就乱码了呢?

    我就瞎说一下,反正你也不懂. ——见到许多ArcGis属性表乱码的问题,也见过各种哭笑不得的解说 目录 第一节 字符编码那些事儿→字符编码简述 第二节 都是编码惹的祸→ArcGis属性表出错原因 第三 ...

    【CF526G】Spiders Evil Plan(贪心)

    [CF526G]Spiders Evil Plan(贪心) 题面 洛谷 CodeForces 给定一棵树,要求选择\(y\)条链,满足被链覆盖的所有点在树上联通,且\(x\)必定在联通块中. 对于每次 ...

    vux (scroller)上拉刷新、下拉加载更多

    1)比较关键的地方是要在 scroller 组件上里加一个 ref 属性

    Ubuntu下安装phpMyAdmin

    首先添加必要的apt源 1 apt-get update 确保软件包列表是最新的 apt-get upgrade 更新软件包 安装phpMyAdmin apt-get install phpmyadm ...

    C. Permute Digits dfs大模拟

    http://codeforces.com/contest/915/problem/C 这题麻烦在前导0可以直接删除,比如 1001 100 应该输出11就好 我的做法是用dfs,每一位每一位的比较. ...

    展开全文
  • 例如:指定字符串为”James”,找到右侧的单元格值,结果如下: Williams Wilson 借助集算器可以很方便地完成这件事,在JAVA 程序中使用集算器,可以直接执行语句: public static void test() { Connection con = ...

    现有Excel文件emp.xlsx,部分数据如下:

    EIDNAMESURNAMEGENDERSTATEBIRTHDAYHIREDATEDEPTSALARY
    1RebeccaMooreFCalifornia1974-11-202005-03-11R&D7000
    2AshleyWilsonFNew York1980-07-192008-03-16Finance11000
    3RachelJohnsonFNew Mexico1970-12-172010-12-01Sales9000
    4EmilySmithFTexas1985-03-072006-08-15HR7000
    5AshleySmithFTexas1975-05-132004-07-30R&D16000
    6MatthewJohnsonMCalifornia1984-07-072005-07-07Sales11000
    7AlexisSmithFIllinois1972-08-162002-08-16Sales9000
    8MeganWilsonFCalifornia1979-04-191984-04-19Marketing11000
    9VictoriaDavisFTexas1983-12-072009-12-07HR3000
    10RyanJohnsonMPennsylvania1976-03-122006-03-12R&D13000

    需要遍历 Excel 所有单元格,找到等于指定字符串的单元格,返回该单元格右侧的单元格的值。比如找到的是 A1 格则返回 B1 格。如果找到了多个,则返回多个(从代码中读到的)。

    例如:指定字符串为”James”,找到右侧的单元格值,结果如下:

    Williams

    Wilson

    借助集算器可以很方便地完成这件事,在JAVA 程序中使用集算器,可以直接执行语句:

     public static void test() {
                            Connection con = null;
                            Statement st;
     try {
                                        Class.forName("com.esproc.jdbc.InternalDriver");
     con = DriverManager.getConnection("jdbc:esproc:local://");
     
     st = con.createStatement();
                                        ResultSet rs = st
                                                                .executeQuery("=file(\"emp.xlsx\").xlsimport@w().(~.(if(~==\"James\",~[+1])).select(~)).conj()");
     
     while (rs.next()) {
                                                    System.out.println(rs.getObject(1).toString());
                                        }
     
                            } catch (Exception e) {
                                        System.out.println(e);
                            } finally {
     // 关闭连接
     if (con != null) {
     try {
     con.close();
                                                    } catch (Exception e) {
                                                                System.out.println(e);
                                                    }
                                        }
                            }
                }

    展开全文
  • VBA 单元格基本操作 - 判断

    千次阅读 2020-08-05 23:21:43
    一、提示用户输入 Sub SetValue() Sheets("sheet3").Range("a1") = InputBox("输入一个数字") End Sub 运行后就会弹出个警告框,提示用户输入内容,输入后就会在A1单元格显示了,但是也存在一个问题,就是取消...

    继续讲讲单元格的操作

    一、提示用户输入值

    Sub SetValue()
        Sheets("sheet3").Range("a1") = InputBox("输入一个数字")
    End Sub

    运行后就会弹出个警告框,提示用户输入内容,输入后就会在A1单元格显示了,但是也存在一个问题,就是取消后呢,原来在A1单元格的内容就会被清空。

    所以改良一下,也把“输入数字这个功能再完善一下”。

    Sub SetValue()
        Dim myInput As Variant
        myInput = InputBox("输入一个数字")
        If myInput <> "" Then
            If IsNumeric(myInput) Then
                Sheets("sheet3").Range("a1") = myInput
            Else
                MsgBox "输入的不是数字"
            End If
        Else
            MsgBox "输入的内容为空值"
        End If
    End Sub

     

    在判断是否是数字上,如果用WorksheetFunction.IsNumber判断可能会出错。用户在输入123后,WorksheetFunction.IsNumber仍然会识别成文本格式。经过资料查询,解释是这样的:

    WorksheetFunction.IsNumber:函数中的数值参数是无法转换的。例如,大部分其他函式中其中一个数字是必要,文字值19会转换的数字19。不过,在公式中ISNUMBER(“19”)、19不会转换文字值,且IsNumber函数会传回False。

    IsNumeric:如果在整个表达式被视为一个数字就为真,否则,它会传回False。如果_表达式_为日期表达式IsNumeric会传回False。

    所以咱们就知道为什么IsNumeric用来判断用户输入是否数字可以,而WorksheetFunction.IsNumber不行啦。

     

    二、在空值输入内容

    在空值输入内容的第一步当然是确定空值的位置啦,运行后跳转到空值的地方进行输入。我这里主要用到昨天的Range.End(xldown)来确定下一行的空值。

    Sub SetBlankValue()
        Dim rowNum As Integer
        rowNum = Range("a1").End(xlDown).Row + 1
        Range("a" & rowNum).Select
    End Sub

     

     

    是不是很简单啦。

     

    三、计算选中单元格 数量

    MsgBox Selection.Count

    框柱单元格后运行就出来了,一句话完事儿~

    如果要有选择多个选区,想知道多个选取的数量,用以下方式

    MsgBox Selection.Areas.Count

     

    四、有效遍历选区

    有效遍历选区一般是对选区内有值的进行遍历操作,不然大量空值存在就很浪费时间,下面是对用户框住的内容进行判断,小于0的就成黄色,大于等于0的就蓝色。

    Sub BianLi()
        Dim cell As Range
        If TypeName(Selection) <> "Range" Then Exit Sub
        Application.ScreenUpdating = False
        For Each cell In Selection
            If cell.Value < 0 Then
                cell.Interior.Color = RGB(255, 255, 0)
            Else
                cell.Interior.Color = RGB(0, 255, 255)
            End If
        Next
    End Sub

    框选后确实变色了,但是呢如果选中整行整列的话,会比较慢,工作表有个叫UsedRange的方法,官方解释【返回一个**Range** 对象, 该对象代表指定工作表上的所用区域。】也就是咱们用了多少单元格意思。输出个已使用单元格数量试试

    MsgBox (Sheets(1).UsedRange.Count)

    然后我们就可以根据用户框住的区域和这个UsedRange区域进行交叉匹配,匹配到了的说明有值,需要进行运算

    Sub BianLi2()
        Dim cell As Range, rng As Range
        If TypeName(Selection) <> "Range" Then Exit Sub
        Application.ScreenUpdating = False
        Set rng = Application.Intersect(Selection, ActiveSheet.UsedRange)
        For Each cell In rng
            If cell.Value < 0 Then
                cell.Interior.Color = RGB(255, 255, 0)
            Else
                cell.Interior.Color = RGB(0, 255, 255)
            End If
        Next
    End Sub

    结果和上图相似,但是速度会稍稍快了点,但是也带来一个问题,如果用户点了空白区域,既没有内容,也没有使用,所以可能会报错哟,所以还需要改进一下。

    此刻需要用表达式。Range.specialcells(Type, Value)来区分一下,该函数返回一个Range对象, 该对象代表与指定类型和值匹配的所有单元格。第一个参数是要包含的单元格,必填;第二个参数是可选的,写上要返回哪些类型的单元格

    所以咱们把有值的Range用这个函数拆成2部分,数字的,就做判断,不是数字的,就不管了

    Sub BianLi3()
        Dim numCells As Range, cell As Range
        If TypeName(Selection) <> "Range" Then Exit Sub
        Application.ScreenUpdating = False
        
        'xlConstants 意思是单元格是值,xlNumbers意思就是数字
        Set numCells = Selection.SpecialCells(xlConstants, xlNumbers)
       
        For Each cell In numCells
            If cell.Value < 0 Then
                cell.Interior.Color = RGB(255, 255, 0)
            Else
                cell.Interior.Color = RGB(0, 255, 255)
            End If
        Next
    End Sub

     

     

     

     

    展开全文
  • 在此示例中,我们尝试获取Excel的单元格数据类型,以便我们可以使用正确的方法读取该。要读取的数据在名为的文件中celltype.xls。下面的矩阵描述了文件的状态。|COLROW|01234----|-------------------------0|12...
  • 2.复杂读取2.1 单元格类型数据读取2.1.1 基本类型在实际工作中,我们处理的Excel数据都不止限于字符型数据,更多的是数字、日期、甚至公式等。下面是单元格类型说明:类型CELL_TYPE_BLANK空值(cell不为空)CELL_...
  • 在Excel中,日期的单元格类型返回为HSSFCell.CELL_TYPE_NUMERIC,以确保它是否包含日期,我们可以使用实用程序方法HSSFDateUtil.isCellDateFormatted(HSSFCell cell),该方法将检查单元格值是否为有效日期。...
  • EXCLE中如何通过判断另外一个单元格是否为空来确定单元格的数值你说的1,2,3,分别是A1,A2,A3单元格,则A2单元入公式=IF(A1="",A3,)或=(A1="")*A3表格的顶上是一排字A,B,C,.......这个就是列标表格的左边是一竖列的数字...
  • 使用openpyxl判断单元格是否为空的时候: 用到下列代码: rst = ws.cell(row, 4).value if rst is None: rst="" 将cell的value赋值给一个str变量后,判断变量是否为None时异常,老是判断不出来。 原因分析: ...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼先谢谢各位我...我自己理解是,cell相当于单元格类型,item属于类型下的内容。不知道理解的对不。如果不对,请大神详细说下这两个到底有啥区别========================...
  • 主要介绍了Java Swing实现JTable检测单元格数据变更事件的方法,结合完整实例形式分析了Swing实现JTable检测单元格数据变更事件过程中出现的问题与相关解决方法,需要的朋友可以参考下
  • 1EXCEL的各种报错 #N/A NA=Not Available,找不到(无法得到想要得... 除以0报错,或者除数引用的是空白内容/空白单元格 #NAME? 输入得函数名不认识,或者基本语法错误? 函数名写错, sum(1+2) 写成 sam(1+2) ...
  • 润乾报表-单元格函数

    千次阅读 2016-09-29 20:56:32
    单元格函数 1.avg() 函数说明: 对可扩展单元格或集合表达式求平均 语法: avg(expression{,containNull}) 参数说明: expression 需要求平均单元格或表达式,一般为可扩展单元格或集合表达式containNull ...
  • 使用ISNUMBER函数进行判断处理 使用ISNUMBER函数判断,这个问题是我们很多人都很困惑的一个问题,使用ISNUMBER函数判断是我们非常常用的一个东西,也是我们工作和学习中必不可少的一个数据公式,那么具体我们要怎么...
  • index函数 解析: 在一个范围内(如...首先需要思考为啥能联合在一起使用,index是根据行列坐标去定位具体的某个单元格值。match 恰好可以提供行号,再根据我们想要取的某列,就可以查找到我们想要的那个单元格的值了。
  • 核心就是判断单元格的数据类型,使用相对应的方法进行获取,避免出现错误,然后保存数据。 public static String getExcelCellValue(Cell cell) { String ret = ""; try { //判断cell是否为空,以免使用cell...
  • 今天还是讲讲单元格操作 一、删除空行 如果是上面的表格要删除空行的话,我们想到的是先删掉第1行,再第2行,再第3行……但是对于程序来说,删完第1行后,第2行就变成了第1行后面就会出错,所以我们先从后面...
  • VBA合并单元格(tmpstr = tmpstr & " " & Cells(i, j))如果碰到#N/A就会报错,提示类型不匹配,如下图所示: 实际上,不仅仅是#N/A,其它的错误标识(如#VALUE!、#DIV/O!等等)也会报同样的错误。...
  • JS判断数据类型以及数据过滤空值方法 在我们的项目开发中,经常需要对一个传输中的数据进行滤空处理,过滤 null、undefined、''、[]、{}等,还要对字符串进行去除两端的空格操作。为此,我写了一个递归处理方法,...
  • 数据类型、实际与显示单元格支持的操作单元格样式:行高列宽、隐藏行列、自动换行、上下标、文字竖排、大文本字段分页时断开、标识说明、格式刷单元格Web属性:web显示、web编辑风格、控件实际与显示、...
  • excel 单元格为空与不存在

    千次阅读 2020-12-21 18:07:16
    Q3:Excel单元格为空怎么表示啊一、在EXCEL中判断单元格是否为空单元可以用ISBLANK函数,也可以用某单元格是否=""来进行判断。比如要判断A1单元格是否为空单元格,可以在另一个单元格写入公式:=ISBLANK(A1)或=A1="...
  • python判断正负数方式

    千次阅读 2021-01-29 13:23:07
    我就废话不多说了,大家还是直接看代码吧!a1 = raw_input("please input a ... 0 ):print '这是负数'else:print 'the number is equal to 0'补充知识:判断一个数值是否为正数、负数、零、整数最近在看阮一峰老师...
  • Excel单元格为空怎么表示啊

    千次阅读 2020-12-30 20:28:39
    展开全部一、在EXCEL中判断单元格是否为空单元可以用ISBLANK函数,也可以用某单元格是否=""来进62616964757a686964616fe4b893e5b19e31333337613838行判断。比如要判断A1单元格是否为空单元格,可以在另一个单元格...
  • 备注:该博客内容根据技术教学视频整理与总结而成,教学视频来自于office教程-龙龙老师的Excel2019视频教程合集(81节)。 一、识别公式中的错误 错误 注释 ####### ... 删除了引用的单元格
  • Excel常用函数

    2021-04-05 10:12:13
    SUM函数将为求和。 可以将单个单元格引用或是区域相加,或者将三者的组合相加。 1、指定数值求和 =SUM(10,20,30) 2、指定单元格求和:输入=sum(),在括号中间按住ctrl连续点击即可选择需要求和的数据 =SUM...
  • Excel:单元格内整型与字符串类型相加 强制转换为字符串型Excel 计算取整函数 **INT()**Excel 计算取余函数 **MOD()**&---字符串连接符解决现实问题 考虑一个现实场景,当需要判断单元格A1内数值小于12,则在...
  • python设置单元格数值格式

    千次阅读 2021-03-04 10:17:31
    python xlwt如何设置单元格格式python xlwt模块怎么设置excel单元格的属性如图,默认是general。我想写入的时候就是Text类型.请问应该怎么做。from xlwt import Workbook,Stylewb = Workbook()ws = wb.add_sheet('...
  • java 读取excel并设置各列数据的类型

    千次阅读 2021-02-25 19:55:25
    //判断单元格类型, 做出相应的转化 if(wc.getType() == CellType.LABEL) { Label l = (Label)wc; l.setString("The value has been modified."); } //写入Excel对象 wwb.write(); //关闭可写入的Excel对象 wwb....
  • Excel函数实用教程

    2018-03-15 13:41:25
    Excel函数实用教程 一般用户的做法是选中某个单元格(如F2),使用“单元格”命令将它的小数位数设为零,然后在其中输入公式“F2=(D1+E1)*0.1”。再将G2单元格的小数位数设成两位,最后把F2*1.36的结果存入其中就...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,748
精华内容 6,699
关键字:

判断单元格值的类型的函数

友情链接: nihe.zip