YYYY-MM-DD日期格式导出到Excel(yyyy-MM-dd date format in E

2019-06-26 11:39发布

有没有办法在出口以此来Excel函数从UniversalSortableDateTimePattern越来越日期孤单。 在Excel不接受的日期格式..
我需要显示为yyyy-MM-DD。 任何建议会有所帮助? 我作为代码

 dtASalesDrivers.Columns.Add(new System.Data.DataColumn("Start Date", typeof(String)));
DateTime dt = Convert.ToDateTime(txtATrendStartDate.Text);
 drASalesDrivers[2] = string.Format("{0:yyyy-MM-dd}", dt);
dtASalesDrivers.Rows.Add(drASalesDrivers);

编辑:

            DateTime dt = Convert.ToDateTime(txtATrendStartDate.Text);
            drASalesDrivers[2] = string.Format("{0:u}", dt);

这将显示日期和时间。 有没有办法为只显示最新???

Answer 1:

我认为这是与你的电脑设置的事。

如果你打开的Excel的新实例,并键入2012-07-24 ,然后导航从单元移开,它会立即更改为24/07/2012 ,它更适合你的电脑的区域设置不是什么与你的代码。

但是,您可以格式的单元格,以yyyy-mm-dd;@所以你可能需要以编程方式做到这一点,并没有改变任何东西,我认为这可能工作:

DateTime dt = Convert.ToDateTime(txtATrendStartDate.Text);
drASalesDrivers[2] = string.Format("{0:u}", dt);
drASalesDrivers[2].NumberFormat = "yyyy-mm-dd;@";

但我没有测试

我身边做一些梅辛和一些示例代码如下:

using System.Runtime.InteropServices;
using Microsoft.Office.Interop.Excel;

namespace ConsoleApplication19
{
    class Program
    {
        static void Main(string[] args)
        {
            Application _excelApp = new Application();
            Workbook workbook = _excelApp.Workbooks.Open(@"C:\test\New Microsoft Excel Worksheet.xlsx");

            Worksheet sheet = (Worksheet)workbook.Sheets[1];
            Range excelRange = sheet.get_Range("A1");

            //If you comment the next line of code, you get '24/07/2012', if not you get '2012-07-24'
            excelRange.NumberFormat = "yyyy-mm-dd;@";

            excelRange.Value2 = "2012-07-13";

            workbook.Save();
            workbook.Close(false, @"C:\test\New Microsoft Excel Worksheet.xlsx", null);
            Marshal.ReleaseComObject(workbook);
        }
    }
}

此外, string.Format("{0:u}", dt); 确实会返回一个日期和时间, dt.ToString("yyyy-MM-dd"); 将返回你的约会。

该alrernative是改变你的Short date在您的计算机上设置YYY-MM-DD像这样:

这会让你的日期会出现你想怎么用Excel的默认您的计算机上,但它看起来不同在不同的计算机。



Answer 2:

这里是我的代码,我用下面的代码实现它:

 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
 Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);
 Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];
Microsoft.Office.Interop.Excel.Range excelRange;
excelRange = worksheet.get_Range("H2", System.Reflection.Missing.Value);
excelRange.NumberFormat = "yyyy-MM-dd;@";


文章来源: yyyy-MM-dd date format in Export to Excel