Perl CSV не полный номер не отображается в ячейке - PullRequest
1 голос
/ 23 февраля 2011

Создаю файл csv, проблема с печатью номера на CELL,

Фактический номер 1298271527197400000

но в моей ячейке он отображается как 1.29827E + 18

Мне не нужен этот ярлык, я хочу показать полный номер,

Ответы [ 3 ]

4 голосов
/ 23 февраля 2011

Если вы используете популярный и превосходный модуль Spreadsheet::WriteExcel из CPAN (вы на самом деле не указали), вам нужно указать format для ячейки, аналогично следующему:

  my $fmt = $workbook->add_format( num_format => '0' );
  $worksheet->write_string( 'A2', 1298271527197400000, $fmt );

Больше информации здесь:

http://search.cpan.org/dist/Spreadsheet-WriteExcel/lib/Spreadsheet/WriteExcel.pm#FORMAT_METHODS

и вы можете получить образец, запустив скрипт examples/formats.pl модуля, который выводит демонстрационную книгу под названием formats.xls, которая показывает различные форматы в вашей системе.

Примечание. Может по-прежнему отображаться в верхней строке в научной нотации, но если вы отрегулируете ширину столбца в соответствии с числом, оно будет отображаться в фактической ячейке в стандартном десятичном формате.


Так как мне явно нужно больше кофе: Вы можете использовать вышеупомянутый модуль для непосредственного создания хорошо отформатированной электронной таблицы для Excel, в дополнение к предоставлению опции вывода CSV для других инструментов.

2 голосов
/ 23 февраля 2011

Если вы используете Excel, щелкните правой кнопкой мыши по ячейке, выберите запись «Форматирование ячейки» (или что-то похожее на это), найдите числовые форматы и найдите запись, которая не использует научные или инженерные форматы.

1 голос
/ 23 февраля 2011

Если вы открываете файл CSV в Excel, единственный безопасный способ загрузить большое число - это трактовать его как текст , так как он импортируется . Для этого измените расширение файла на .txt, а затем выберите файл в открытом диалоговом окне Excel. Это запустит мастер импорта текста.

  • На шаге 1 выберите Delimited.
  • На шаге 2 выберите в качестве разделителя только запятую, а в качестве текстового классификатора.
  • На шаге 3 выберите столбец с большим числом и выберите Текст в качестве формата данных.

Все это основано на Excel 2003, другие версии почти наверняка будут другими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...