Excel CSV - Формат ячеек числа

В Java все переменные, которые вы объявляете, на самом деле являются «ссылками» на объекты (или примитивы), а не самими объектами.

При попытке выполнить один метод объекта , ссылка просит живой объект выполнить этот метод. Но если ссылка ссылается на NULL (ничего, нуль, void, nada), то нет способа, которым метод будет выполнен. Тогда runtime сообщит вам об этом, выбросив исключение NullPointerException.

Ваша ссылка «указывает» на нуль, таким образом, «Null -> Pointer».

Объект живет в памяти виртуальной машины пространство и единственный способ доступа к нему - использовать ссылки this. Возьмем этот пример:

public class Some {
    private int id;
    public int getId(){
        return this.id;
    }
    public setId( int newId ) {
        this.id = newId;
    }
}

И в другом месте вашего кода:

Some reference = new Some();    // Point to a new object of type Some()
Some otherReference = null;     // Initiallly this points to NULL

reference.setId( 1 );           // Execute setId method, now private var id is 1

System.out.println( reference.getId() ); // Prints 1 to the console

otherReference = reference      // Now they both point to the only object.

reference = null;               // "reference" now point to null.

// But "otherReference" still point to the "real" object so this print 1 too...
System.out.println( otherReference.getId() );

// Guess what will happen
System.out.println( reference.getId() ); // :S Throws NullPointerException because "reference" is pointing to NULL remember...

Это важно знать - когда больше нет ссылок на объект (в пример выше, когда reference и otherReference оба указывают на null), тогда объект «недоступен». Мы не можем работать с ним, поэтому этот объект готов к сбору мусора, и в какой-то момент VM освободит память, используемую этим объектом, и выделит другую.

84
задан JimmyPena 21 June 2012 в 01:03
поделиться

9 ответов

Там isn’t простой способ управлять форматированием Excel применяется при открытии .csv файла. Однако упомянутый ниже три подхода, которые могли бы помочь.

Мое предпочтение является правом преимущественной покупки.

Опция 1 †“Изменение данные в файле

Вы могли изменить данные в .csv файле следующим образом..., =”005”... Это будет отображено в Excel как..., 005 ...

Excel сохранит данные как формулу, но копирование столбца и использование вставки специальные значения избавятся от формулы, но сохранят форматирование

Опция 2 †“Формат данные

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

Опция 3 †“Изменение расширение файла к .dif (Формат обмена данными)

Изменение расширение файла, и используйте мастер импорта файла для управления форматами. Файлы с .dif расширением автоматически открыты Excel, когда дважды щелкнуто на.

Шаг за шагом:

  • Изменение расширение файла от [1 124] .csv к [1 125] Двойной щелчок .dif
  • по файлу для открытия его в Excel.
  • 'Мастер Импорта Файла' будет запущен.
  • Набор 'Тип файла' к 'Разграниченному' и нажимают на кнопку 'Next'.
  • Под Разделителями, отметьте 'Запятую' и нажмите на кнопку 'Next'.
  • Нажимают на каждый столбец Ваших данных, которые отображены, и выберите 'Формат данных столбца'. Столбец со значением '005' должен быть отформатирован как 'текст'.
  • Нажимают на кнопку конца, файл будет открыт Excel с форматами, которые Вы определили.
122
ответ дан Robert Mearns 24 November 2019 в 08:32
поделиться

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

я попробовал с Excel 2007, и это, казалось, работало.

0
ответ дан Mark 24 November 2019 в 08:32
поделиться

На самом деле я обнаружил, что, по крайней мере, стартовый с Office 2003, можно сохранить электронную таблицу Excel как XML-файл. Таким образом я могу произвести XML-файл и когда я дважды щелкну по нему, он будет открыт в Excel. Это обеспечивает тот же уровень управления как SYLK, но синтаксис XML более интуитивен.

2
ответ дан Sergey Stadnik 24 November 2019 в 08:32
поделиться

Можно просто отформатировать диапазон как текст.

Также здесь хорошая статья о числовых форматах и как можно программировать их.

2
ответ дан Ólafur Waage 24 November 2019 в 08:32
поделиться

Не используйте CSV, используйте SYLK.
http://en.wikipedia.org/wiki/SYmbolic_LinK_ (SYLK)

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

28
ответ дан Mark Ransom 24 November 2019 в 08:32
поделиться

Я верю, когда Вы импортируете файл, можно выбрать Тип столбца. Сделайте его текстом вместо Числа. У меня нет копии передо мной в данный момент для проверки все же.

1
ответ дан Harley Holcombe 24 November 2019 в 08:32
поделиться

Well, excel never pops up the wizard for CSV files. If you rename it to .txt, you'll see the wizard when you do a File>Open in Excel the next time.

0
ответ дан 24 November 2019 в 08:32
поделиться

Загрузить csv в oleDB и преобразовать все предполагаемые типы данных в строку

Я задал тот же вопрос, а затем ответил на него кодом.

в основном, когда файл csv загружен, драйвер oledb делает предположений, вы можете сказать, какие предположения делать.

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

1
ответ дан 24 November 2019 в 08:32
поделиться

Поставьте одинарную кавычку перед полем. Excel будет рассматривать его как текст, даже если оно выглядит как число.

...,`005,...

EDIT: Это неверно. Трюк с апострофом работает только при вводе данных непосредственно в Excel. Когда вы используете его в CSV-файле, апостроф появляется в поле, чего вы не хотите.

http://support.microsoft.com/kb/214233

0
ответ дан 24 November 2019 в 08:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: