Ведущие нули обрезаются при экспорте kartik gridview в excel - PullRequest
0 голосов
/ 01 марта 2019

Я использую gridview yii2 kartik.Есть столбец, в котором он имеет значения, такие как R65678, P5675,4568895,006976 и т. Д. Теперь, что происходит при экспорте в Excel. Некоторые из значений, у которых ведущие нули обрезаются.Итак, 006976 появляется 6976. Как я могу решить эту проблему?Есть ли способ настроить формат Excel из сетки?

1 Ответ

0 голосов
/ 01 марта 2019

Это может быть проблемой с тем, как Excel импортирует данные больше, чем то, как экспортирует их gridview, вы можете попробовать экспортировать данные в csv, чтобы проверить, правильно ли экспортирует gridview их.

Когда Excel импортирует данные, он пытается угадать, какой тип значения в ячейке, 006976 имеет только цифры, поэтому Excel будет рассматривать его как число и удалит начальные нули.

Исправление для этогочтобы к значению, которое экспортируется, был добавлен нечисловой символ, то в Excel это значение будет обрабатываться как текст и сохранятся все символы.Для этого отлично подходит без объединения , "\u{200C}".

Чтобы добавить символ к выводу сетки, вы можете сделать это:

<?= GridView::widget([
        'dataProvider' => $dataProvider,
        'columns' => [
            'column1',
            [
                'attribute' => 'column2',
                'value' => function ($data) {
                    return "\u{200C}" . $data->column2;
                },
            ],
            ...
        ],
    ]); ?>
...