У меня есть строка Excel, где мне нужно написать 5
с использованием NPOI в первом столбце и 7.0
во втором столбце. Записать эти значения довольно просто, но когда мне нужно записать оба в одну строку, 5
форматируется как 5.0
.
Чтобы написать 5
, я использую:
public static void SetCellValue(IRow row)
{
var cell = row.CreateCell(1); // column 1
int value = 5;
cell.SetCellType(CellType.Numeric);
cell.SetCellValue(value);
// 5 is written
}
Чтобы написать 7.0
, я использую:
public static void SetCellValue(IRow row)
{
var cell = row.CreateCell(2); // column 2
int value = 7;
cell.SetCellType(CellType.Numeric);
cell.SetCellValue(value);
var dataFormat = cell.Sheet.Workbook.CreateDataFormat();
var strFormat = "0.0";
cell.CellStyle.DataFormat = dataFormat.GetFormat(strFormat);
// 7.0 is written
}
Чтобы написать 5
и 7.0
, я использую:
public static void SetCellValue(IRow row)
{
var cell1 = row.CreateCell(1); // column 1
int value1 = 5;
cell1.SetCellType(CellType.Numeric);
cell1.SetCellValue(value1);
var cell2 = row.CreateCell(2); // column 2
int value2 = 7;
cell2.SetCellType(CellType.Numeric);
cell2.SetCellValue(value2);
var dataFormat = cell2.Sheet.Workbook.CreateDataFormat();
var strFormat = "0.0";
cell2.CellStyle.DataFormat = dataFormat.GetFormat(strFormat);
// 5.0 and 7.0 is written and not 5 and 7.0
}
Есть предложения? Я пытался отформатировать первый элемент (номер 5
), используя такие форматы, как var strFormat = "0";
и var strFormat = "#";
, но он остается как 5.0
, а не как 5
.
Дополнительное примечание. Я использую NPOI версии 2.1.1.