discuz自带了会员完善资料认证的功能,是个很不错的东西。在后台,也可以导出认证会员的资料为excel,不过导出的时候,如果是数字字段,数字太多,会导致打开excel后数字不正确,例如:身份证号字段。,不正确的原因分析:Excel数字类型最长只支持15位,超过之后会以0填充。如果要输入超过15位,就要将单元格格式设置为文本格式。,解决方法如下:先输入英文状态的单引号 ‘ 然后再输入数字,即可转换为文本格式。,代码修改的地方:,找到文件:source/admincp/admincp_verify.php,找到这样一段文字:,[代码]php代码:,if(in_array($key, array(‘gender’, ‘birthday’, ‘birthcity’, ‘residecity’))) { $value[$field] = profile_show($key, $value); }, ,这段文字在文件中有两处,discuz X3.0是在:400-402行。,将其下面这句话:,[代码]php代码:,$str .= $common.$value[$field];, ,修改为:,[代码]php代码:,if($key==’这里填写要导出的身份证的字段名称’){ $str .= $common.”‘”.$value[$field]; } else { $str .= $common.$value[$field]; }, ,备注:身份证的字段名称查找方法,查看源代码,找到对应的input元素,查看其name属性值即可。, ,discuz自带了会员完善资料认证的功能,是个很不错的东西。在后台,也可以导出认证会员的资料为excel,不过导出的时候,如果是数字字段,数字太多,会导致打开excel后数字不正确,例如:身份证号字段。 不正确的原因分析:Excel数字类型最长只支持15位,超过之后会以0填充。如果要输入超过15位,就要将单元格格式设置为文本格式。 解决方法如下:先输入英文状态的单引号 ‘ 然后再输入数字,即可转换为文本格式。 代码修改的地方: 找到文件:source/admincp/admincp_verify.php 找到这样一段文字: [代码]php代码: if(in_array($key, array(‘gender’, ‘birthday’, ‘birthcity’, ‘residecity’))) { $value[$field] = profile_show($key, $value); } 这段文字在文件中有两处,discuz X3.0是在:400-402行。 将其下面这句话: [代码]php代码: $str .= $common.$value[$field]; 修改为: [代码]php代码: if($key==’这里填写要导出的身份证的字段名称’){ $str .= $common.”‘”.$value[$field]; } else { $str .= $common.$value[$field]; } 备注:身份证的字段名称查找方法,查看源代码,找到对应的input元素,查看其name属性值即可。