c# - 如何将基于字符串的时间转换为 hh :mm format in excel using EPPlus?

标签 c# excel epplus

我需要我的 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”。

当我在公式栏中插入文本并单击回车时,单元格文本更改为“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();

关于c# - 如何将基于字符串的时间转换为 hh :mm format in excel using EPPlus?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26137323/

相关文章:

c# - 通过 C# 连接到 Oracle 数据库?

c# - T 上的泛型约束同时是引用类型和值类型?

c# - 如何在所有子域中保留身份验证 cookie?

vba - Excel VBA - 在 Worksheet_Change 事件上将图像插入工作表时出现问题

c# - 通过表达式 EPPlus 格式化条件

c# - EPPlus 2.9.0.1 在尝试从 SSIS 包中保存大于 ~1.5 MiB 的文件时抛出 System.IO.IsolatedStorage.IsolatedStorageException

C#消息框,变量用法

excel - 总工作时间计算公式

vba - MS Office - ActiveX 按钮切换位置

c# - EP Plus - 错误表范围与表冲突