通过.net将excel列格式化为“yyyy-MM-dd”
我试图格式化一个.net应用程序中创build的Excel列。 我发送excel表单的正确格式的date,但是,由于某种原因,Excel似乎正在格式化它自己的方式。 以下是我有,但它不起作用:
sheet.Cells[i, 2] = String.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(dr["date"].ToString())); //yyyy-mm-dd ((Excel.Range)sheet.Cells[i, 2]).EntireColumn.NumberFormat = "yyyy-MM-dd";
我得到的格式是mm / dd / yyyy。 我如何格式化这一列? 先谢谢你。
添加不知道这是否重要,但这是我如何保存Excel文件:
wb.SaveAs(FileName, Excel.XlFileFormat.xlCSV, null, null, false, false, Excel.XlSaveAsAccessMode.xlNoChange, false, false, null, null, null);
尝试这个:
((Excel.Range)sheet.Cells[i, 2]).EntireColumn.NumberFormat = "yyyy-MM-dd"; sheet.Cells[i, 2].Value2 = Convert.ToDateTime(dr["date"].ToString());
或者干脆(使用string)
((Excel.Range)sheet.Cells[i, 2]).EntireColumn.NumberFormat = "@"; sheet.Cells[i, 2].Value2 = Convert.ToDateTime(dr["date"].ToString()) .ToString("yyyy/MM/dd");
不要在Excel中打开它,Excel将重新格式化它打开的任何CSV文件,并使用您的系统区域设置显示date和时间。
相反,在普通的文本编辑器(如记事本)中查看您的CSV文件。