数据表问题咨询:Excel表格中某一列为文本型【如银行卡】通过数据表处理后再写入Excel变成科学计数法有什么办法解决?

Uibot爱好者 2021-9-2 740

假设某一Excel文件,其中一列数据为文本型,但实际数据为数字【如:身份证、银行卡、保单号】通过读取Excel区域构建数据表,数据表筛选处理后,写入表格前虽然将数据表中对应列的数据类型转换为字符串,但是实际写入表格后仍然为科学计数法,有什么办法处理?

_数据表问题咨询:Excel表格中某一列为文本型【如银行卡】通过数据表处理后再写入Excel变成科学计数法有什么办法解决?


Dim objDatatable = ""
Dim arrayRet = ""
Dim iRet = ""
Dim objExcelWorkBook = ""
objExcelWorkBook = Excel.OpenExcel(@res"原始数据.xlsx",False,"Excel","","")
iRet = Excel.GetRowsCount(objExcelWorkBook,"Sheet1")
arrayRet = Excel.ReadRange(objExcelWorkBook,"Sheet1","A1:CM"&iRet)
Excel.CloseExcel(objExcelWorkBook,True)
objDatatable = Datatable.BuildDataTable(arrayRet,["所属出单团队","团队渠道","渠道小类","所属分公司","渠道大类","保单号","分保单号","批单号","批改原因","险类","产品名称","险种名称","投保人名称","被保险人名称","车辆种类名称","使用性质","车架号","车辆用途","车牌号码","新车购置价(不含税)","车船税额合计","车损保额","分保标志","核保人名称","产险业务员代码","产险业务员名称","合作网点代码","合作网点名称","寿险业务员代码","寿险业务员名称","二级渠道","代理机构名称","代理人名称","保险起期","保险止期","保费计算日期","承保确认日期","收付时间","保单保额(CNY)","签单保费(含税)","收付金额","期次","代理手续费(CNY)","代理手续费率(%)","已付手续费(CNY)","应付手续费(CNY)","个人业务提奖(CNY)","个人业务提奖率(%)","团队管理津贴(CNY)","团队管理津贴率(%)","客户服务费用(CNY)","客户服务费用率(%)","已付客户服务费(CNY)","应付客户服务费(CNY)","业务推动费(CNY)","业务推动费率(%)","绩效提奖(CNY)","绩效提奖率(%)","业务管理费用(CNY)","业务管理费用率(%)","已付业务管理费用(CNY)","应付业务管理费用(CNY)","机构费用(CNY)","机构费用率(%)","已付机构费用(CNY)","应付机构费用(CNY)","部门费用(CNY)","部门费用率(%)","已付部门费用","应付部门费用","团队费用(CNY)","团队费用率(%)","已付团队费用(CNY)","应付团队费用(CNY)","平台服务费用(CNY)","平台服务费用率(%)","已付平台服务费用(CNY)","应付平台服务费用(CNY)","渠道管理津贴(CNY)","渠道管理津贴费用率","税费及附加(CNY)","税费及附加费用率","车系","投保习惯","所属渠道","结算状态","关联单标识","关联单号","新业务价值","新标转续志","平台不浮动原因"])
objDatatable = Datatable.QueryDataTable(objDatatable,"险种名称.str.contains(\"机动车\") or 险种名称==\"险种名称\"")
Datatable.ConvertColumnDataType(objDatatable,"保单号","str",False,Null)
arrayRet = Datatable.GetDataTableByArray(objDatatable,False)
TracePrint(arrayRet)
objExcelWorkBook = Excel.OpenExcel(@res"车险数据.xlsx",True,"Excel","","")
Excel.WriteRange(objExcelWorkBook,"Sheet1","A1",arrayRet,False)
Excel.CloseExcel(objExcelWorkBook,True)



最新回复 (7)
  • Uibot爱好者 2021-9-2
    2

    原始数据中Excel显示形式如下:


  • 果子哩 2021-9-3
    3
    输入的时候在相关数据的前面拼接一个"'",或者做个模板表,表格的单元格格式默认设置成文本格式
  • Uibot爱好者 2021-9-10
    4

    表格的单元格默认设置文本亲测不可用,因数据量太大【一张表数据3万多条,每行数据有多列属于要设置为文本的情况】,如果以拼接单引号的形式写入,效率会超级低【假设一张表3万条数据,有5列数据需要这样处理,那么需要处理15万次,效果可想而知】,还有没有别的解决方案

  • lhui 2021-9-10
    5

    使用“转换列类型”,转换成文本类型,再写Excel看看行不行

    呵呵,我没细看帖子阿。。。

  • lhui 2021-9-10
    6
    果子哩 输入的时候在相关数据的前面拼接一个"'",或者做个模板表,表格的单元格格式默认设置成文本格式
    亲测有效!
  • lhui 2021-9-10
    7
    富德产险 表格的单元格默认设置文本亲测不可用,因数据量太大【一张表数据3万多条,每行数据有多列属于要设置为文本的情况】,如果以拼接单引号的形式写入,效率会超级低【假设一张表3万条数据,有5列数据需要这样处理,那 ...
    是否没有选中“目标表”中该列整列,设置单元格格式为“文本”?
  • Uibot爱好者 2021-9-13
    8
    以上操作均是针对表格模板对应整列进行数据格式设置的,但是很奇怪,设置了无用,放弃了,还好保单号、身份证号不是这个表格操作的重点数据,只是想搞明白为什么。
返回
发新帖