Я экспортирую столбцы времени, чтобы преуспеть, используя NPOI. Он отлично работает в Excel 2010. Но в Office 365 после нескольких строк Excel показывает время в виде десятичных чисел. Я форматирую время в формате «[ч]: мм; @», и значения времени не превышают 24.
Dim Style As ICellStyle = workbook.CreateCellStyle
Dim df As IDataFormat = workbook.CreateDataFormat
Style.DataFormat = df.GetFormat("[h]:mm;@")
cell.SetCellFormula("TIME(" + ts2.Hours.ToString + "," +
s2.Minutes.ToString + ",0)")
cell.SetCellType(CellType.Formula)
cell.CellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Medium
cell.CellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Medium
cell.CellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Medium
cell.CellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Medium
Dim evaluator As IFormulaEvaluator =
workbook.GetCreationHelper.CreateFormulaEvaluator
evaluator.EvaluateFormulaCell(cell)
cell.CellStyle = Style
Результат как показано ниже
6:51 14:51
6:51 14:51
7:00 0.541666667
0.875 0.333333333
0.285416667 0.61875