значения ячеек преобразуются в числа вместо & ldquo; 000000 & rdquo; формат

Следующий код преобразует весь результирующий набор (Cursor) в list:

myresults = list(mydb.mycollection.find())

Это отлично подходит для относительно небольших результирующих наборов, поскольку вы все втягиваете в память.

1
задан Pᴇʜ 11 March 2019 в 14:16
поделиться

1 ответ

Проблема здесь в том, что математически числа 0123 и 123 являются точно одним и тем же значением. Поэтому, если вы хотите рассчитать с ними, должны остаться числа, а старшие 0 должны быть сгенерированы путем изменения .NumberFormat.

Range("A1").Value = 123
Range("A1").NumberFormat = "0000"

Если эти числа фактически рассматриваются как строки (например, серийные номера), с которыми вы не хотите рассчитывать, то вы можете сохранить их как строки, установив для .NumberFormat ячейки значение Text. до вы записываете в него значение:

Range("A1").NumberFormat = "@"
Range("A1").Value = "0123"

Если вы не измените .NumberFormat сначала , то Excel распознает, что вы записали числовое значение в ячейку и автоматически преобразует вашу строку в числовое значение.

Обратите внимание, что вы не можете больше рассчитывать с этой ячейкой, потому что «число» теперь рассматривается как строка. Поэтому первый метод рекомендуется для чисел.

0
ответ дан Pᴇʜ 11 March 2019 в 14:16
поделиться
Другие вопросы по тегам:

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