Мы должны отображать данные с символом валюты («TRL») в ячейке Excel с типом валюты, и мы записываем ячейку Excel, используя эти данные «TRL 100,00», затем эта ячейка автоматически преобразуется в общий тип вместо типа валюты, хотя мы изменили тип формат конкретной ячейки с использованием (свойство styleFlag NumberFormat=true)
Изменить тип данных ячейки Excel с помощью Aspose?
Ответы (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
извините за поздний ответ, это сработало для TRL, но не для валюты kr, не могли бы вы помочь мне в этом
- person Pankaj Kumar; 24.01.2018
Внесите следующие изменения в приведенный выше код. т. е. ---------- st.Custom = [$TRL]\\ #,##0.00; --- to ---- st.Custom = [$SEK]\\ #,##0.00; --- и это решит вашу проблему. Спасибо,
- person shakeel; 24.01.2018
Спасибо за вашу поддержку, но я столкнулся с другой проблемой, все работает нормально, за исключением того, что символ тайского бата не отображается в ячейке вместо отображения 1000 ฿, я получаю 1000 в ячейке (Cell Font = Arial), но когда я изменил шрифт, тогда он показал мне правильное значение.
- person Pankaj Kumar; 02.02.2018
Внесите следующие изменения в приведенный выше код. т. е. ---- st.Custom = [$TRL]\\ #,##0.00; ---- to ---- st.Custom = [$฿-41E]#,##0.00; ---- и это решит вашу проблему. Спасибо.
- person shakeel; 03.02.2018
Спасибо за ваш ответ, но он не работает; Символ все еще есть, но пользователь не может видеть этот символ, он виден только тогда, когда я меняю шрифт Cell с Arial на Calibri.
- person Pankaj Kumar; 05.02.2018
Линия работает нормально даже в Arial. Пожалуйста, посмотрите новый снимок экрана, который я добавил в ответ для справки.
- person shakeel; 05.02.2018
Еще раз спасибо за ваш ответ, фактическая проблема заключалась в том, что 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