Я экспортирую данные в файл Excel, используя NPOI dll.
Данные относятся к типу суммы, которая должна быть представлена в денежном формате: $ #, ###. ##
а также в формате даты.
Я добавил формат в ячейки. но данные не экспортируются в Excel в формате Деньги / дата
Любые ответы на это?
вот мой код:
Я перепробовал все виды форматов currecy, которые я нашел в поиске Google, но ничего не получалось,
он по-прежнему экспортируется в Excel в виде текста, а не типа валюты / даты
public enum StyleDataTypes { NotDeclared = 0, Money = 1, Percentage = 2, Number = 3, Date = 4 }
public class ColumnInfoAttribute : Attribute
{
private string displayNoValue = "";
public string DisplayNoValue
{
get { return displayNoValue; }
set { displayNoValue = value; }
}
private StyleDataTypes styleType = StyleDataTypes.NotDeclared;
public StyleDataTypes StyleType
{
get { return styleType; }
set { styleType = value; }
}
}
IDataFormat dataFormatCustom = sheet.Workbook.CreateDataFormat();
ICellStyle dateStyle = sheet.Workbook.CreateCellStyle(); //date
dateStyle.DataFormat = dataFormatCustom.GetFormat("yyyy/MM/dd HH:mm:ss");
ICellStyle amountStyle = sheet.Workbook.CreateCellStyle(); //money
amountStyle.DataFormat = dataFormatCustom.GetFormat("$#,##0.00");
StyleDataTypes dataType = ((ColumnInfoAttribute)attr).StyleType;
switch (dataType)
{
case StyleDataTypes.Date:
cell.CellStyle.DataFormat = dateStyle.DataFormat;
break;
case StyleDataTypes.Number:
cell.SetCellType(CellType.Numeric);
break;
case StyleDataTypes.Percentage:
cell.CellStyle.DataFormat = percentagesStyle.DataFormat;
break;
case StyleDataTypes.Money:
cell.CellStyle.DataFormat = amountStyle.DataFormat;
break;
}
в поле Excel он отображается как текстовое поле, а не как пользовательский.