Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C语言在Excel中更改日期格式#_C#_Windows - Fatal编程技术网

C# 用C语言在Excel中更改日期格式#

C# 用C语言在Excel中更改日期格式#,c#,windows,C#,Windows,将内容导出到excel时出现问题。如果是MM/dd/yyyy日期,则excel将其作为日期格式。如果我们将格式设置为dd/MM/yyyy,那么它将被视为excel中的自定义格式 下面是我的代码: 私有字符串GetFormattedDateforCreation(字符串datestring)//yyyyymmdd { if(string.IsNullOrEmpty(datestring)) { 返回null; } 其他的 { return DateTime.ParseExact(datestrin

将内容导出到excel时出现问题。如果是
MM/dd/yyyy
日期,则excel将其作为日期格式。如果我们将格式设置为
dd/MM/yyyy
,那么它将被视为excel中的自定义格式

下面是我的代码:

私有字符串GetFormattedDateforCreation(字符串datestring)//yyyyymmdd
{
if(string.IsNullOrEmpty(datestring))
{
返回null;
}
其他的
{
return DateTime.ParseExact(datestring,“yyyyMMdd”,CultureInfo.GetCultureInfo(“fr-CA”)).ToString(“dd/MM/yyyy”);
}
}
Excel生成

Clipboard.Clear();
    
// Bulk insertion of Data into Trigger Element Excel
bool multiselect1 = dgvElement.MultiSelect;
dgvElement.MultiSelect = true;
dgvElement.SelectAll();
dgvElement.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableWithoutHeaderText;
Clipboard.SetDataObject(dgvElement.GetClipboardContent());
var resultElement = System.Convert.ToString(Clipboard.GetData(DataFormats.Text));
dgvElement.ClearSelection();
dgvElement.MultiSelect = multiselect1;
Microsoft.Office.Interop.Excel.Application XCELAPPELEMENT = null;
Microsoft.Office.Interop.Excel.Workbook XWORKBOOKELEMENT = null;
Microsoft.Office.Interop.Excel.Worksheet XSHEETELEMENT = null;
object misValueElement = System.Reflection.Missing.Value;

XCELAPPELEMENT = new Microsoft.Office.Interop.Excel.Application();

XWORKBOOKELEMENT = XCELAPPELEMENT.Workbooks.Open(ExcelFilePath);
XCELAPPELEMENT.DisplayAlerts = false;
XCELAPPELEMENT.Visible = false;
XSHEETELEMENT = XWORKBOOKELEMENT.ActiveSheet;

XSHEETELEMENT.Paste();
XWORKBOOKELEMENT.SaveAs(Path.Combine(basePath, _frmSwip.OutputExcelFilePath, "SWIP_ElementsDeclencheurs_" + DateTime.Now.ToString("dd_mm_yyy HH_ss_mm")), Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook);
XWORKBOOKELEMENT.Close(true);
XCELAPPELEMENT.Quit();
try
{
    System.Runtime.InteropServices.Marshal.ReleaseComObject(XSHEETELEMENT);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(XWORKBOOKELEMENT);
    System.Runtime.InteropServices.Marshal.ReleaseComObject(XCELAPPELEMENT);
}
catch
{
    return "0";
}

请编辑您的问题,以澄清您所提到的每种日期格式的行为。您好,Tim,在excel中,如果您以MM/dd/yyyy格式键入日期,则格式将自动更改为日期。类似地,如果我从C语言中尝试,那么它只考虑MM/DD/YYYY中的字符串,但是如果我强制转换为DD/MM/YYYY,那么Excel就被认为是一个字符串。因此,我们如何改变我们C语言中的日期格式。