Автоматически форматировать ячейки как валюту из .CSV при импорте в Excel

2702
Adam

Когда я импортирую файл .CSV в Excel, как мне получить все ячейки, которые содержат число, которое будет отформатировано как валюта? В настоящее время, если значение для ячейки содержит знак доллара ($), оно форматируется как валюта, но остается в виде обычного текста, если знак доллара отсутствует. Я также хотел бы игнорировать ячейки, в которых есть текст, поскольку они должны оставаться в виде простого текста. Примеры: 1 -> $1.00, One -> One, 1.0 -> $1.00,"Hello World" -> "Hello World"

Инструмент импорта данных в Excel не работает для моего сценария. В нем отсутствует возможность форматирования в качестве валюты при импорте, при этом указываются только параметры «Число, Дата или Общие».

0
возможный дубликат [Как получить Excel, чтобы не возиться с форматированием файла .csv] (http://superuser.com/questions/304972/how-do-i-get-excel-to-not-mess -around-с форматированием в своем-CSV-файл) Excellll 8 лет назад 0
@Excellll это не потому, что я не хочу, чтобы Excel игнорировал форматирование, я хочу, чтобы оно форматировалось специально. Кроме того, я не хочу вручную изменять форматирование более 100 столбцов и строк Adam 8 лет назад 0
Вы пробовали VBA форматировать столбцы для вас после импорта? Engineer Toast 8 лет назад 0
@EngineerToast у меня есть. Я могу получить столбцы для форматирования по мере необходимости, но это ничем не отличается от ручного изменения формата. Мне нужно, чтобы при импорте ячейки автоматически форматировались как валюта. Adam 8 лет назад 0
Вы пытались изменить столбцы перед импортом? То есть 1 -> 1 $ или 1 $? ott-- 8 лет назад 0
@ ott-- это потребовало бы от меня вручную изменить каждую ячейку перед импортом, что крайне непрактично из-за количества ячеек Adam 8 лет назад 0
Нет, вам не нужно делать это вручную. ott-- 8 лет назад 0
@ ott-- как еще мне изменить столбцы, чтобы .CSV читал `$ 1` вместо` 1`? Adam 8 лет назад 0
Excel не будет применять форматирование чисел к ячейкам, содержащим текст, поэтому после импорта данных просто выберите его (CTRL + A) и примените нужный формат. Máté Juhász 8 лет назад 1

1 ответ на вопрос

1
Larry1833681

Here is a solution using csv2odf that can automate the formatting in Excel:

Create a spreadsheet template in Excel with these specifications:

  1. Insert column titles with the same number of columns as the csv. (If you want to use titles from the csv file, add the -H option to the command below.)

  2. Add one sample row of data on the second row. Use dummy numbers where numbers will go and dummy text where text will go. Format the text/numbers however you want, format numbers with currency where needed.

  3. Save the template as xlsx (xls will not work).

Run this command:

csv2odf yourdata.csv yourtemplate.xlsx output.xlsx 

Your data will be data will be formatted in the output using formatting from the template. You can use the same template each time to automate the conversion.

Note the program needs Python to run.

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