精华内容
下载资源
问答
  • 2020-12-31 12:51:16

    java中导出excel设置单元格的样式为数字格式怎么设置

    如果是使用poi,它会自动根据参数值设置单元格为恰当格式,只需传入数字类型参数值即可,比如

    double value=....;

    cell.setCellValue(value);

    java中导出excel设置单元格的样式为数字格式怎么设置?

    通过这个例子,演示了使用java生成以下文件:导入Excel org。Apache POI。HSSF。用户。*;进口java.io.fileoutputstream;进口,;publicclass CreateCells 。

    publicstaticvoid主要(string [] args)抛出ioexcept。

    java poi编写代码来设置Excel单元格的样式

    还是自己去看POI的API吧

    如何使用java代码实现设置excel单元格的格式。

    import

    org.apache.poi.hssf.usermodel.HSSFCell;

    import

    org.apache.poi.hssf.usermodel.HSSFCellStyle;

    import

    org.apache.poi.hssf.usermodel.HSSFRow;

    import

    org.apache.poi.hssf.usermodel.HSSFSheet;

    import

    org.apache.poi.hssf.usermodel.HSSFWorkbook;

    import

    org.apache.poi.poifs.filesystem.POIFSFileSystem;

    /**

    *

    @param

    inputFile

    输入模件路径

    *

    @param

    outputFile

    输入文件存服务器路径

    *

    @param

    dataList

    待导出数据

    *

    @throws

    Exception

    *

    @roseuid:

    */

    public

    void

    exportExcelFile(String

    inputFile,

    String

    outputFile,

    List

    dataList)

    throws

    Exception

    {

    //用模板文件构造poi

    POIFSFileSystem

    fs

    =

    new

    POIFSFileSystem(new

    FileInputStream(inputFile));

    //创建模板工作

    HSSFWorkbook

    templatewb

    =

    new

    HSSFWorkbook(fs);

    //直接取模板第一个sheet对象

    HSSFSheet

    templateSheet

    =

    templatewb.getSheetAt(1);

    //得到模板的第一个sheet的第一行对象

    为了得到模板样式

    HSSFRow

    templateRow

    =

    templateSheet.getRow(0);

    //HSSFSheet

    timplateSheet

    =

    templatewb.getSheetAt(1);

    //取得Excel文件的总列数

    int

    columns

    =

    templateSheet.getRow((short)

    0).getPhysicalNumberOfCells();

    Debug.println("columns

    is

    :

    "

    columns);

    //创建样式数组

    HSSFCellStyle

    styleArray[]

    =

    new

    HSSFCellStyle[columns];

    //一次性创建所有列的样式放在数组里

    for

    (int

    s

    =

    0;

    s

    <

    columns;

    s )

    {

    //得到数组实例

    styleArray[s]

    =

    templatewb.createCellStyle();

    }

    //循环对每一个单元格进行赋值

    //定位行

    for

    (int

    rowId

    =

    1;

    rowId

    <

    dataList.size();

    rowId )

    {

    //依次取第rowId行数据

    每一个数据是valueList

    List

    valueList

    =

    (List)

    dataList.get(rowId

    -

    1);

    //定位列

    for

    (int

    columnId

    =

    0;

    columnId

    <

    columns;

    columnId )

    {

    //依次取出对应与colunmId列的值

    //每一个单元格的值

    String

    dataValue

    =

    (String)

    valueList.get(columnId);

    //取出colunmId列的的style

    //模板每一列的样式

    HSSFCellStyle

    style

    =

    styleArray[columnId];

    //取模板第colunmId列的单元格对象

    //模板单元格对象

    HSSFCell

    templateCell

    =

    templateRow.getCell((short)

    columnId);

    //创建一个新的rowId行

    行对象

    //新建的行对象

    HSSFRow

    hssfRow

    =

    templateSheet.createRow(rowId);

    //创建新的rowId行

    columnId列

    单元格对象

    //新建的单元格对象

    HSSFCell

    cell

    =

    hssfRow.createCell((short)

    columnId);

    //如果对应的模板单元格

    样式为非锁定

    if

    (templateCell.getCellStyle().getLocked()

    ==

    false)

    {

    //设置此列style为非锁定

    style.setLocked(false);

    //设置到新的单元格上

    cell.setCellStyle(style);

    }

    //否则样式为锁定

    else

    {

    //设置此列style为锁定

    style.setLocked(true);

    //设置到新单元格上

    cell.setCellStyle(style);

    }

    //设置编码

    cell.setEncoding(HSSFCell.ENCODING_UTF_16);

    //Debug.println("dataValue

    :

    "

    dataValue);

    //设置值

    统一为String

    cell.setCellValue(dataValue);

    }

    }

    //设置输入流

    FileOutputStream

    fOut

    =

    new

    FileOutputStream(outputFile);

    //将模板的内容写到输出文件上

    templatewb.write(fOut);

    fOut.flush();

    //操作结束,关闭文件

    fOut.close();

    }

    更多相关内容
  • 文章目录1、%占位符2、string中的Template的subtitute方法3、format方法更酷炫的用法结合格式化类型符插一句:数字format格式化:字符串也有类似数字的format用法 如果字符串有一部分是固定的,少部分需要动态改变,...


    如果字符串有一部分是固定的,少部分需要动态改变,就把固定的额部分做成模板,动态的部分预留出位置,然后往里传参数替换。
    几种方法都是占位置的方法和替换的方法的区别。

    1、%占位符

    使用字符串格式化操作符 % 替换,需要指定数据类型,字符串用%s,整数用%d,%.f 表示保留小数位,多个被替换的按顺序提供,使用元祖。经常用!

    FormatStr = 'hello %s. Today is %s'
    value = ('Mike', 'Wednesday')
    
    print(FormatStr % value)
    # hello Mike. Today is Wednesday
    

    对于字符串有%s,浮点型或者整数还有其他格式:

    • %d 与 %.f
    FormatStr='圆周率是 %.4f,保留小数点后 %d 位'
    value=(pi,4)
    
    print(pi,FormatStr % value)
    # 3.141592653589793 圆周率是 3.1416,保留小数点后 4 位
    
    • 如果同时用到百分号和占位符,需要用两个%
    FormatStr='成功率是10%%,如果%s首发成功率是%d%%'
    value=('Mike',50)
    print(FormatStr % value)
    # 成功率是10%,如果Mike首发成功率是50%
    

    2、string中的Template的subtitute方法

    • 通过Template类实例化出来一个模板字符串,$+变量名作为占位符,调用substitute方法,用关键字传参或者字典形式传参。不常用。
    from string import Template
    
    s1=Template('今天是$day,$name去上学了')
    
    print(s1.substitute(day='Wednesday',name='Mike'))
    # 今天是Wednesday,Mike去上学了
    
    s2 = Template('今天是$day,$name去上学了')
    dic = {'day': 'Wednesday', 'name': 'Mike'}
    print(s2.substitute(dic))
    # 今天是Wednesday,Mike去上学了
    
    • 用到$表示美元符号时,用两个$$
    s1=Template('$num1$$ 能换$num2人民币')
    dic={'num1':1,'num2':6.70}
    
    print(s1.substitute(dic))
    # 1$ 能换6.7人民币
    

    3、format方法

    经常用,比占位符%和$功能要强大。用一对大括号 { } 表示要格式化参数。
    format方法主要注意三部分:{指定字段:转换标志+设置格式}

    3.1 指定字段

    • 可以按顺序传参,不需要指定数据类型,可以传入支持的任何值!
    s1='{} {} {}是好朋友'
    
    print(s1.format('小明','小红','小强'))
    # 小明 小红 小强是好朋友
    
    • 可以按关键字传参,关键字传参不用按照顺序
    print('{a} {b} {c}'.format(a=1,c=2,b=3))
    
    # 1 3 2
    
    • 可以按索引取参,可以混合关键字传参一起用
    print('{0}成{s}于{1}{2}'.format('中国','1949年','10月1日',s='立'))
    # 中国成立于1949年10月1日
    
    • 可以用列表。不常用。
    NameList=['小明','小强']
    s='其他两个人是{name[0]},{name[1]}'
    print(s.format(name=NameList))
    # 其他两个人是小明,小强
    

    3.2 转换标志

    结合格式化类型符

    aUnicode形式输出
    b整数转二进制输出
    f浮点数,默认是6位
    o八进制
    x十六进制
    e科学记数法
    %百分比格式

    大部分都用冒号,少量用!

    print('Unicode编码显示:{s!a}'.format(s='你'))
    # Unicode编码显示:'\u4f60'
    
    print('二进制:{n:b}'.format(n=3))
    # 二进制:11
    
    print('科学记数法:{n2:e}'.format(n2=100))
    # 科学记数法:1.000000e+02
    
    print('百分比:{:%}'.format(0.05))
    # 百分比:5.000000%
    
    print('默认6位:{n:f}'.format(n=0.5))
    # 默认6位:0.500000
    
    

    当然转换进制更简单的写法:

    # 将其他进制的字符串类型转成十进制
    print(int('111',2)) # 将二进制数(字符串类型)转换成十进制
    # 7
    print(int('189',16)) # 将16进制转换成十进制
    # 393
    print(int('171',8))
    # 121
    
    # 将十进制转换成其他进制
    print(bin(3))  # 转二进制
    # 0b11
    print(hex(11))  # 转十六进制
    # 0xb
    print(oct(11)) # 转八进制
    # 0o13
    

    3.3设置格式

    3.3.1 附数字的format格式方法

    数字字符串format方法,直接对数字设置样式,格式:format(数字,字符串形式的样式),加一句:浮点数默认是6位。

    print(format(0.05,'0.3f'))
    # 0.050 设置小数点后位数
    
    print(format(0.05,'0.2%'))
    # 5.00%
    
    print(format(123456,','))
    # 123,456 千分位逗号分隔
    
    print(format(0.123,'>10.2f'))
    # 10个字符长度内,右对齐,保留2位
    
    print(format(0.12345,'0>10.2f'))
    # 0000000.12 右对齐>补0,左对齐是<
    
    print(format(0.12345,'@^10.4f'))
    # @@0.1235@@ 中心对齐,补@
    
    print(format(0.12345,'e'))
    # 1.234500e-01
    
    print(format(0.12345,'0.2e'))
    # 1.23e-01
    

    3.3.2字符串的format用法

    格式为:
    ‘{:样式}’.format(值)

    • 对字符串里的数字来说设置宽度,默认右对齐,字符串是左对齐
    print('距离{:5}还有{:5}天'.format('高考',10))
    # 距离高考   还有   10天
    
    • 设置宽度,.f,字符串截取字符,数字表示非0整数位和小数位的总位数,或者整数位为0时,小数位的位数。
    print('截取字符:{:.2}'.format('你好小朋友'))
    # 截取字符:你好
    
    print('设置数字位数:{:.2}'.format(1.12345))
    # 设置数字位数:1.1
    
    print('设置数字位数:{:.2}'.format(0.12345))
    # 设置数字位数:0.12
    
    
    t=format(1.12345,'0.2f')
    print(type(t),t)
    # <class 'str'> 1.12
    
    t2 = '{:.2}'.format(1.12345)
    print(type(t2), t2)
    # <class 'str'> 1.1
    
    t3 = '{:.2f}'.format(1.12345)
    print(type(t3), t3)
    # <class 'str'> 1.12
    
    • 左右中心对齐,不够位数补足,表示方法与数字格式化一致
    print('{:!^10}'.format('你好'))
    # !!!!你好!!!!
    
    print('{:!<10}'.format('你好'))
    # 你好!!!!!!!!
    
    print('{:!>10}'.format('你好'))
    # !!!!!!!!你好
    
    print('{:!^9}'.format('你好'))
    # !!!你好!!!!
    
    • 在负号- 与数字之间填充,可以用 = 表示。
    print('{:!=10.2f}'.format(-1.123))
    # -!!!!!1.12 在符号-和数字之间填充,共10位
    
    • 大括号之内还可以再嵌套
    s1=input('输入要填充的符号')
    print('{:{s}^10.2f}'.format(1.12345,s=s1))
    # @@@1.12@@@
    

    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • Sub 给大于5的单价设置格式() Set i = Cells(Rows.Count, 2).End(xlUp) '动态查找第2列的最后一个单元格 Range([b2], i).ClearFormats '先将第2列内容的格式清除 For Each Rng In Range([b2], i) '这里使用了...

    今天原本没计划写博客,但电脑带都带回来了,要是不用它做点事情,总觉得亏哈

    太阳是真的晒呀,早上迎着太阳上班,下午迎着太阳下班,一天烤两次,真要变黑了。

    等我变成小黑孩的时候,没有一根紫外线是无辜的!

    (一)数字格式

    右击Excel中任意一个单元格,出来的菜单里会有一项“设置单元格格式”——“数字”下有多种数字格式的分类。

    这里我们通过VBA代码来设置一下,简单举个例子:

      A B
    展开全文
  • 最近做项目遇到的坑,百度了半天导出都货币类型、自定义类型和常规类型,,,最后终于解决,在此记录一下 ... * 设置Excel单元格数值类型便于公式运算 * * @param workbook * @param contextstyle

    最近做项目遇到的坑,百度了半天导出都为货币类型、自定义类型和常规类型,,,最后终于解决,在此记录一下

    其中contextstyle.setDataFormat(df.getFormat("0_ "));要特别注意"0_ ",下划线后面有一个空格!!!,缺少空格则不会导出为数值类型。

    注意空格!!!注意空格!!!注意空格!!!

    
    /**
         *  设置Excel单元格为数值类型便于公式运算
         *
         * @param workbook
         * @param contextstyle
         * @param cell
         * @param data
         */
        public static void setNumberFormat(SXSSFWorkbook workbook, CellStyle contextstyle, SXSSFCell cell,Object data){
            boolean isNum = false;//data是否为数值型
            boolean isInteger=false;//data是否为整数
            boolean isPercent=false;//data是否为百分数
            if (data != null || "".equals(data)) {
                //判断data是否为数值型
                isNum = data.toString().matches("^(-?\\d+)(\\.\\d+)?$");
                //判断data是否为整数(小数部分是否为0)
                isInteger=data.toString().matches("^[-\\+]?[\\d]*$");
                //判断data是否为百分数(是否包含“%”)
                isPercent=data.toString().contains("%");
            }
    
            //如果单元格内容是数值类型,设置data的类型为数值类型
            if (isNum && !isPercent) {
                // 此处设置数据格式
                DataFormat df = workbook.createDataFormat();
                if (isInteger) {
                    contextstyle.setDataFormat(df.getFormat("0_ "));//数据格式只显示整数
                }else{
                    contextstyle.setDataFormat(df.getFormat("0.00_ "));//保留两位小数点
                }
                // 设置单元格格式
                cell.setCellStyle(contextstyle);
                // 设置单元格内容为double类型
                cell.setCellValue(Double.parseDouble(data.toString()));
            } else {
                if (data != null && !"".equals(data)) {
                    cell.setCellStyle(contextstyle);
                    // 设置单元格内容为字符型
                    cell.setCellValue(data.toString());
                }
            }
        }
    
    展开全文
  • NPOI设置单元格数字格式

    千次阅读 2020-01-13 17:38:40
    '说明:设置数字格式 '1.创建EXCEL中的Workbook Dim myworkbook As IWorkbook = New XSSFWorkbook() '2.创建Workbook中的Sheet Dim mysheet As ISheet = myworkbook.CreateSheet("sheet1") mysheet....
  • NPOI读取Excel设置单元格格式为数值不生效问题
  • python设置单元格数值格式

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

    千次阅读 2021-01-30 05:18:18
    MYSQL 获取当前日期及日期格式获取系统日期: NOW()格式化日期: DATE_FORMAT(date, format)注: date:时间字段format:日期格式返回系统日期,输出 2009-12-25 14:38:59select now();输出 09-12-25select date_...
  • cellStyle.setDataFormat(format.getFormat("@")) 导出的excel中输入文本正常,输入数字以日期格式显示
  • 使用map()函数实现文字型数据转换数字型数据 import pandas as pd # 创建DataFrame df = pd.DataFrame([['AAA'], ['BBB'], ['CCC']]) # 设置对应的数字 dict1 = {'AAA':1, 'BBB':2, 'CCC':3} # 字符转换数字 df...
  • sql数字型注入-东塔靶场

    千次阅读 2022-03-26 15:26:22
    sql数字型注入-东塔靶场 超级简单,非常适合新手找信心 环境及准备: vmvare安装kali2018,没有2018其他版本kali也行 kali自带的sqlmap 靶场:东塔靶场数字型注入,免费使用的噢,注册一个账号就行 ...
  • //添加带有formatting的Number对象 jxl.write.NumberFormat nf = new jxl.write.... //设置数字格式 jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf); //设置表单格式 jxl.write.
  • 1.设置小数位数 # 方法一:使用round()函数 df.round(decimals=3) # 方法二:使用自定义函数 + %.2f df['data'].map(lambda x : ('%.2f')%x) ...# 自定义函数+格式化处理 df['data'].map(lambda..
  • NPOI 设置EXCEL单元格格式为 数值

    万次阅读 2016-10-26 11:56:10
    NPOI设置EXCEL单元格格式为数值,网上有很多信息,但并没有实际解决问题的方法。 实际上EXCEL的格式设置很简单,只要将样式对象的DataFormat属性设置为194即可,代码如下: #region 普通样式-靠右 // 设置边框 ...
  • 上面是我的理解翻译,简单来说:把数字的单元格格式化为文本,和在数字的单元格中增加单引号把数字转换文本是不一样的,所以VLOOKUP时,这两个单元格是不同的。就会出现看着两个数字一样,但是VLOOKUP出来是N/A。 ...
  • 如何一键批量转换Excel里面的“文本形式数字“数值型数字
  • 导出excel的时候,数字类型那列显示“此单元格的数字为文本格式”,且左侧有感叹号! 解决办法,模板里设置变量前加 “n:” 表示这cell为数字类型,否则都将是文本类型
  • excel导出文本格式设置为数值(easypoi)

    万次阅读 2020-06-03 18:06:29
    设置type=10对不对 这样设置是对的。 但是什么没有效果呢。 debug跟代码一行一行看 ExcelExportBase类中的createCells方法中,如果类型double,则进入如下逻辑: else if (entity.getType() == ...
  • 设置EXCEL单元格【数字格式
  • 在处理数据(或者在使用vlookup函数)的时候,有一些表格里面的某一列是多位数字的数据,但是转化后会变成以科学计数法显示。 经过不断尝试后得到如下方法。...其他数字格式 4.将数值的小数点改0 5.结束 ...
  • XSSFCellStyle 设置单元格数值类型

    千次阅读 2020-01-09 17:06:35
    我这里的类型是BigDecimal,可根据自己的数字类型去判断 主要以下两行代码 cell.setCellValue(((BigDecimal) cellData).doubleValue()); // 输出double类型 dataStyle.setDataFormat(wb.createDataFormat()....
  • word怎样设置四周版式

    千次阅读 2021-02-05 08:34:25
    word2003文字如何与图片设置成四周,这里以朱自清《春》例:下面学习啦给大家分享Word中进行将图片格式设置为四周的操作方法,不懂的朋友会请多多学习Word哦,欢迎大家来到学习啦学习。Word文档将图片格式设置...
  • 在我们制作各种报表快要结束的时候都需要对数字格式进行设置,增加报表的可读性。 &gt;&gt;&gt; df_grouped weekday comment view 0 0.0 12.621010 2682.943838 1 1.0 10.967018 2062.483289 2 2.0 10....
  • 第一种 日期格式: cell.setCellValue(new Date()); HSSFCellStyle cellStyle = demoWorkBook.createCellStyle(); HSSFDataFormat format= demoWorkBook.createDataFormat(); cellStyle.setDataFormat(format....
  • 在给excel单元格设置格式后,什么必须双击才会生效?如何才能让设置直接生效?原因Excel默认这样的需让批量更改格式后显示改后的格式,可以使用操作即可批量更改,如下:所需材料:Excel、电脑。一、以下步骤以科学...
  • Aspose.Cells如何设置单元格数字和日期的显示格式
  • Aspose.Cells设置单元格格式

    千次阅读 2018-12-18 19:22:00
    这需要像Excel中的“转换为数字”操作,强大的Aspose.Cells可轻松解决这个问题。 //默认写法 worksheet.Cells["A1"].PutValue(10); worksheet.Cells["A1"].PutValue("10"); ...
  • iReport数字金额格式

    千次阅读 2018-01-22 17:38:50
    1、确定Field为数字类型(BigDecimal),即传入的数据对象金额属性的数据类型也BigDecimal; 2、在报表模板中,设置Text Field标签的属性: (1)Expression Class : java.math.BigDecimal (2)...
  • Aspose.Cells单元格转换为数字格式

    千次阅读 2016-08-25 16:10:07
    ...//Adding a numeric value to "A2" cell ... -- ②这个Number设置 官方有API可以看到 相应的设置 //Applying the style to the A2 cell worksheet.Cells["A2"].SetStyle(style);
  • Java 数字格式

    千次阅读 2019-01-10 13:41:35
    Java 主要对浮点数据进行数字格式化操作,其中浮点数据包括 double 和 float 数据,在 java 中使用 Java.text.DecimalFormat格式数字。 DecimalFormat 是 NumberFormat 的一个子类,用于格式化十进制数字。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 204,949
精华内容 81,979
关键字:

如何设置格式为数字型