java 文件导出Excel 文本形式转数字格式解决,字段是int导出需求是数字解决方案

博客针对Java导出Excel时,int类型字段导出为文本格式,需操作人员手动转换的问题,应操作人员需求,实现导出时即为数字格式。介绍了Java后台处理过程,仅处理表格0、2、7、8列的格式转换,并展示了导出效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:java字段是int类型等,然后导出时是文本,需要操作人员转换为数字格式. 应操作人员要求,导出的时候就是数字格式可以不用转换,方便操作等

java 后台处理过程:

这里我只处理表格的0,2,7,8列的格式转换

图:

java 代码:
// 总行数
private int totalRows = 0;
// 总条数
private int totalCells = 0;
// 获取总行数
public int getTotalRows() {
    return totalRows;
}
// 获取总列数
public int getTotalCells() {
    return totalCells;
}
/////////////导出字符串转换成数字格式///////////////
///将导出前,已经生成的工作表获取到 workBook,获取第一个工作表0
Sheet sheet = workbook.getSheetAt(0);
// 得到Excel的行数
this.totalRows = sheet.getPhysicalNumberOfRows();
// 得到Excel的列数(前提是有行数)
if (totalRows > 1 && sheet.getRow(0) != null) {
    this.totalCells = sheet.getRow(0).getPhysicalNumberOfCells();
}
// 循环Excel行数 r=3///从第几行 开始需要转换的数据,这里是从第3行开始是导出的真实数据
for (int r = 3; r < totalRows; r++) {
    Row row = sheet.getRow(r);
    if (row == null) {
        continue;
    }
for (int c = 0; c < this.totalCells; c++) {/////遍历列,对列进行转换就可以了
    Cell cell = row.getCell(c);
    CellStyle cellStyle = workbook.createCellStyle();
    if (null != cell) {
        if (c==0){
            if (cell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
                String id = String.valueOf(cell.getStringCellValue());
                row.getCell(0).setCellValue(Double.parseDouble(id));
            }
        }
        if (c==2){
            if (cell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
                String number = String.valueOf(cell.getStringCellValue());
                row.getCell(2).setCellValue(Double.parseDouble(number));
            }
        }
        if (c==7){
            if (cell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
                String pageViews = String.valueOf(cell.getStringCellValue());
                row.getCell(7).setCellValue(Double.parseDouble(pageViews));
            }
        }
        if (c==8){
            if (cell.getCellType() == HSSFCell.CELL_TYPE_STRING) {
                String userViews = String.valueOf(cell.getStringCellValue());
                row.getCell(8).setCellValue(Double.parseDouble(userViews));
            }
        }
        }
}
}

导出效果(结果):

 

 

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值