【发布时间】:2016-08-27 04:38:10
【问题描述】:
我正在尝试从 Excel 文件中获取日期字段,但日期带有一般格式,如“42373”,我尝试了一切,例如转换为双精度然后再转换为日期时间。我找不到任何代码来帮助我,我正在使用业务系统来做到这一点..所以这就是为什么我在这里找到的常规代码不起作用
我想获取“42373”并将其格式化为有效日期(2016-04-01),然后他们从中获取“MMM”。
obs:使用 CSharp Ineterop。
using System;
using System.Text;
using System.Reflection;
using System.Collections;
using System.Globalization;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using Microsoft.Office.Interop.Excel;
public class Macro : MacroBase {
private enum Header1 {
[Name("ACCOUNT NUMBER")]
Begin,
}
private enum Header2 {
[Name("PERIOD COVERED")]
Period,
}
protected override bool Run() {
var RSheet = (Worksheet)TargetWorkbook.Worksheets[1];
if (RSheet == null)
return false;
var excelTable = new ExcelTable<Header2>(){ CacheHeaders = true };
if (excelTable.Initialize(RSheet) == false)
return false;
var excelTable1 = new ExcelTable<Header1>(){ CacheHeaders = true };
if (excelTable1.Initialize(RSheet) == false)
return false;
var Periodo = excelTable[Header2.Period].get_Offset(1,0).Value;
excelTable1[Header1.Begin].get_Offset(2,0).Value2 = Periodo;
return true;
}
}
作品
string Periodo = excelTable[Header2.Period].get_Offset(1,0).Value.ToString();
excelTable1[Header1.Begin].get_Offset(2,0).Value = DateTime.FromOADate(42373).ToString("MMM");
不要工作
DateTime.FromOADate(Periodo).ToString("MMM");
【问题讨论】:
标签: c# excel-interop