当前位置:编程学习 > C#/ASP.NET >>

winform导出excel后datagridview日期列格式被改变的问题

先看看我的导出方法
/// <summary>
/// 将datagridview中的数据导出Excel
/// </summary>
/// <param name="gridView">要导出的datagridview</param>
/// <param name="bar">进度条控件</param>
/// <param name="startIndex">从datagridview的第几列开始写入Excel</param>
public static void DgvSaveAsExl(DataGridView gridView,ToolStripProgressBar bar, string title, int startIndex)
{
……
      //循环写入数值
      sheet.Cells[i + 3, c] = gridView[j, i].Value.ToString();
……
}

问题就是:
我datagirdview中日期列的格式是这样的:2012-02-23 10:30:00
导出后datagirdview中日期列的格式成了这样了:2/23/2012 10:30:00
而导出的excel 格式还是和原来的datagirdview中的一样的:2012-02-23 10:30:00
我想应该是datagridview传入我定义的方法中是一个引用类型,导出的时候改变了该列的格式所以原datagridview也被改了
不知道是不是这个原因,有什么办法解决呢?望得到指点

--------------------编程问答-------------------- 怎么没人睬啊····在线等啊 --------------------编程问答-------------------- ToString 的时候Format一下不就行了, toString传过去就是个string,不是引用:
sheet.Cells[i + 3, c] = gridView[j, i].Value.ToString(yyyy-MM-dd);
--------------------编程问答--------------------
引用 2 楼 hoken2020856 的回复:
ToString 的时候Format一下不就行了, toString传过去就是个string,不是引用:
sheet.Cells[i + 3, c] = gridView[j, i].Value.ToString(yyyy-MM-dd);


excel中是对了的,格式都是我想要的,我的问题是经过导出操作,我的datagridview的日期列格式被改变了

你说的,这个方法我用过了,没用。刚才断点查看了一下,在赋值给excel单元格之前datagridview的格式已经变了

--------------------编程问答-------------------- 问题解决了
导出函方法中有这样一句:
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");

我不懂什么意思 - -!!!

注释掉就没出问题了

迟点再结贴,希望有人能帮解释下这句,呵呵 --------------------编程问答-------------------- 在这句的下面加tostring --------------------编程问答-------------------- System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");

这个是编码方式,美式编码的一种,你这个Excel导出有点问题,在大数据量的时候,你逐行扫描,会很慢 --------------------编程问答-------------------- System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");

这句话在多语言程序中用得比较多,告诉系统你现在的语言为en-US(即美国使用的英语),因为美制的日期为“mm/dd/yyyy”,而中国的格式为“yyyy年m月d日”,所以如果你把这句话注释掉就没问题了

如果想看看中文是什么样子,可以把en-US改成zh-CN
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,