【发布时间】:2019-03-31 15:35:54
【问题描述】:
我正在尝试使用 Microsoft.Office.Interop.Excel 将 DataTable 导出到 Excel 文件。问题是,我能够获取 TimeStamp 列的数据,但不是以定义的 TimeFormat 格式,而是以其他格式。
尽管我将数字格式定义为“MMM-dd-yyyy hh:mm:ss tt”,但在这里我将时间定义为 12 小时,但导出后我得到的是 24 小时格式,并且 tt 被定义为获取 AM/PM值,但在 excel 中我只得到 tt
if (dataColumn.ColumnName == "Timestamp")
{
DateTime[] result = data.Rows.Cast<System.Data.DataRow>()
.Select(row1 => Convert.ToDateTime(row1[dataColumn.ColumnName]))
.ToArray();
var data1 = new DateTime[result.Count(), 1];
for (int i = 0; i < result.Count(); i++)
{
data1[i, 0] = result[i];
}
var startCell = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[row + 1, col];
var endCell = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[row + result.Count(), col];
// worksheet.Range[startCell, endCell].Font.Bold = false;
worksheet.Range[startCell, endCell].NumberFormat = "MMM-dd-yyyy hh:mm:ss tt";
worksheet.Range[startCell, endCell].Value = data1;
}
请提供建议以获取所需的 TimeFormat 和 tt 以在时间戳列中显示 AM/PM 值
【问题讨论】: