我使用的是yii2 kartik的网格视图。有一个列,其中有像R65678,P5675,4568895,006976等值。所以006976显示为6976。我该如何解决这个问题?有没有办法从网格中配置excel格式?
发布于 2019-03-01 21:51:28
这可能是excel如何导入数据的问题,而不是网格视图如何导出数据的问题,您可以尝试将数据导出到csv,以检查网格视图是否正确导出数据。
当excel导入数据时,它试图猜测单元格上的值类型,006976只有数字,因此excel会将其视为数字并去掉前导零。
解决此问题的方法是在要导出的值前面加上一个非数字字符,这样excel就会将该值视为文本并保留所有字符。"\u{200C}",Zero width non-joiner在这方面做得很好。
要将字符添加到网格视图的输出中,您可以执行以下操作:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
'column1',
[
'attribute' => 'column2',
'value' => function ($data) {
return "\u{200C}" . $data->column2;
},
],
...
],
]); ?>https://stackoverflow.com/questions/54942347
复制相似问题