js导出数据到excel纯数字过长如何将默认的科学计数法显示正常

原因:

1.在Excel中,输入12-15位数字时,虽然会以科学记数的形式出现,但其数值大小是不变的。当今的身份证号码有15位和18位之分。如果15位身份证号以科学记数的形式出现,可以通过设置显示出身份证号的“本相”。

2.可在“单元格格式”对话框的“数字”选项卡中进行设置。选择“分类”中的“数值”,将小数位数由默认的“2”位改为“0”位,单击“确定”按钮。如果本来即是“0”位,直接单击“确定”按钮即可。

3.在Excel中不经设置直接输入或粘贴超过15的数字,系统会自动将超出的数值用“0”替换,例如,直接录入18位身份证号时,末三位会被“000”替换,无法象15位身份证号那样正确显示。所以,复制前首先把粘贴区域设置为“文本型”单元格格式是非常必要的。

 

解决方法: 1:  xlSheet.Cells(num,1).NumberFormatLocal = "@";//设置导出为文本

                 2: xlSheet.Cells(num, 2).Value = "‘"+agencyname;  //你可以在导出的时候给数据前加一个英文半角的‘逗号

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用`setCellType(CellType.NUMERIC)`方法将单元格的类型设置为数字类型,然后使用`DataFormat`类的`setFormat`方法设置格式。以下是一个使用POI导出BigDecimal数据并正常显示的示例代码: ```java import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.FileOutputStream; import java.math.BigDecimal; public class ExcelExport { public static void main(String[] args) { // 创建工作簿 Workbook workbook = new XSSFWorkbook(); // 创建工作表 Sheet sheet = workbook.createSheet("Sheet1"); // 创建数据行 Row row = sheet.createRow(0); // 创建单元格样式 CellStyle cellStyle = workbook.createCellStyle(); // 设置数据格式为文本 DataFormat dataFormat = workbook.createDataFormat(); cellStyle.setDataFormat(dataFormat.getFormat("0.###############")); // 创建BigDecimal数据 BigDecimal bigDecimal = new BigDecimal("12345678901234567890.123456789"); // 创建单元格 Cell cell = row.createCell(0); // 设置单元格类型为数字类型 cell.setCellType(CellType.NUMERIC); // 设置单元格样式 cell.setCellStyle(cellStyle); // 设置单元格值为BigDecimal数据 cell.setCellValue(bigDecimal.doubleValue()); try { // 导出Excel文件 FileOutputStream outputStream = new FileOutputStream("result.xlsx"); workbook.write(outputStream); outputStream.close(); System.out.println("导出成功!"); } catch (Exception e) { e.printStackTrace(); } } } ``` 在上面的示例中,我们创建了一个XSSFWorkbook对象作为工作簿,然后创建了一个Sheet对象作为工作表。接下来,我们创建了一个Row对象作为数据行,并创建了一个CellStyle对象作为单元格样式。通过调用`setDataFormat`方法,我们将数据格式设置为不显示科学计数法的格式。然后,我们创建了一个BigDecimal对象,设置了其值。最后,我们创建了一个Cell对象,并将其类型设置为数字类型,同时将样式应用到该单元格中。最后,我们将工作簿写入到文件中。 此代码将导出Excel文件中的单元格正常显示BigDecimal数据,而不是科学计数法形式。你可以根据自己的需求进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值