Изменить тип данных ячейки Excel с помощью Aspose?

Мы должны отображать данные с символом валюты («TRL») в ячейке Excel с типом валюты, и мы записываем ячейку Excel, используя эти данные «TRL 100,00», затем эта ячейка автоматически преобразуется в общий тип вместо типа валюты, хотя мы изменили тип формат конкретной ячейки с использованием (свойство styleFlag NumberFormat=true)


person Pankaj Kumar    schedule 17.01.2018    source источник


Ответы (2)


См. следующий пример кода, его комментарии и снимок экрана, показывающий выходной файл Excel. Сначала код форматирует ячейку A1 в формат валюты TRL. Затем он форматирует весь столбец C в формат валюты TRL.

С#

//Create workbook
Workbook wb = new Workbook();

//Access first worksheet
Worksheet ws = wb.Worksheets[0];

//Add some value in cell A1
Cell cell = ws.Cells["A1"];
cell.PutValue(22);

//Format cell A1 with TRL formatting
Style st = cell.GetStyle();
st.Custom = "[$TRL]\\ #,##0.00";
cell.SetStyle(st);

//Make the entire column C with TRL formatting
StyleFlag flg = new StyleFlag();
flg.NumberFormat = true;
ws.Cells.Columns[2].ApplyStyle(st, flg);

//Now enter data in column C cells
ws.Cells["C5"].PutValue(31);
ws.Cells["C6"].PutValue(32);
ws.Cells["C7"].PutValue(33);
ws.Cells["C8"].PutValue(34);

//Save the workbook
wb.Save("output.xlsx");

Снимок экрана: введите здесь описание изображения

Обновление – я

Снимок экрана, показывающий результат этой следующей строки.

st.Custom = "[$฿-41E]#,##0.00";

введите здесь описание изображения

Примечание. Я работаю разработчиком-евангелистом в Aspose

person shakeel    schedule 18.01.2018
comment
извините за поздний ответ, это сработало для TRL, но не для валюты kr, не могли бы вы помочь мне в этом - person Pankaj Kumar; 24.01.2018
comment
Внесите следующие изменения в приведенный выше код. т. е. ---------- st.Custom = [$TRL]\\ #,##0.00; --- to ---- st.Custom = [$SEK]\\ #,##0.00; --- и это решит вашу проблему. Спасибо, - person shakeel; 24.01.2018
comment
Спасибо за вашу поддержку, но я столкнулся с другой проблемой, все работает нормально, за исключением того, что символ тайского бата не отображается в ячейке вместо отображения 1000 ฿, я получаю 1000 в ячейке (Cell Font = Arial), но когда я изменил шрифт, тогда он показал мне правильное значение. - person Pankaj Kumar; 02.02.2018
comment
Внесите следующие изменения в приведенный выше код. т. е. ---- st.Custom = [$TRL]\\ #,##0.00; ---- to ---- st.Custom = [$฿-41E]#,##0.00; ---- и это решит вашу проблему. Спасибо. - person shakeel; 03.02.2018
comment
Спасибо за ваш ответ, но он не работает; Символ все еще есть, но пользователь не может видеть этот символ, он виден только тогда, когда я меняю шрифт Cell с Arial на Calibri. - person Pankaj Kumar; 05.02.2018
comment
Линия работает нормально даже в Arial. Пожалуйста, посмотрите новый снимок экрана, который я добавил в ответ для справки. - person shakeel; 05.02.2018
comment
Еще раз спасибо за ваш ответ, фактическая проблема заключалась в том, что Cell обернул текст, поэтому он не отображался. - person Pankaj Kumar; 09.02.2018

Самый простой способ - установить номер стиля для ячеек.

//$1,234.56
ws.Cells[1,1].Value = 1234.56;
var style=ws.Cells[1.1].GetStyle();
style.Number=5; // 5 is build-in style for currency
ws.Cells[1,1].SetStyle(style);

Вы можете найти все встроенные стили здесь: https://docs.aspose.com/cells/net/list-of-supported-number-formats/

person DanielZ    schedule 30.10.2020