有没有办法在出口以此来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);
这将显示日期和时间。 有没有办法为只显示最新???
我认为这是与你的电脑设置的事。
如果你打开的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的默认您的计算机上,但它看起来不同在不同的计算机。
这里是我的代码,我用下面的代码实现它:
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;@";