我需要我的excel输出中带有时间的列,格式为HH:mm。
我的代码如下:
ws.Cells[rowNumber, 11].Style.Numberformat.Format = "hh:mm";
string start = row.R_HourStart.ToString("HH:mm:ss");
ws.Cells[rowNumber, 11].Value = start;
但是,当我在excel中打开文件时,单元格显示“ 10:10:00”。
当我在编辑栏中插入文本并单击Enter时,单元格文本将更改为“ 10:10”,这正是我想要的。
我也尝试过使用:
ws.Cells[rowNumber, 11].Style.Numberformat.Format = "hh:mm";
string start = row.R_HourStart.ToString("HH:mm:ss");
ws.Cells[rowNumber, 11].LoadFromText(start);
我在单元格中显示了“ 10:10”,但编辑栏显示的是今天的完整日期和小时10:10。
另外,我尝试了:
ws.Cells[rowNumber, 12].Style.Numberformat.Format = "hh:mm";
ws.Cells[rowNumber, 12].Value = row.R_HourEnd;
它在单元格中显示“ 10:10”,但编辑栏将整个日期和时间显示为“ 22/08/2014 10:10:00”。
您可以将时间转换为TimeSpan吗?这为我工作:
var package = new ExcelPackage(new FileInfo("text.xlsx"));
var sheet = package.Workbook.Worksheets.Add("Sheet 1");
var someTime = "10:10:00";
var timeSpan = TimeSpan.Parse(someTime);
sheet.Cells[1, 1].Value = timeSpan;
sheet.Column(1).Style.Numberformat.Format = "hh:mm";
package.Save();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句