【问题标题】:Saving a Date in Excel from Datepicker从 Datepicker 在 Excel 中保存日期
【发布时间】:2013-02-25 01:51:01
【问题描述】:

我正在尝试将 Windows 窗体上的 DatePicker 中的日期保存到现有的 Excel 中 电子表格。

以下代码将 DatePicker 的 ShortDate 值分配给字符串:

if (checkupCheck.Checked)
            {
                newCheckupDate = checkupPicker.Value.Date.ToShortDateString();
            }
            else
            {
                newCheckupDate = null;
            }  

这个值在被放入数据网格后被保存,代码如下:

for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
            {
                for (int k = 0; k < dataGridView1.Columns.Count; k++)
                {
                    worksheet.Cells[i + 2, k + 1] = dataGridView1.Rows[i].Cells[k].Value.ToString();
                }
            }
workbook.Save();

在断点处查看 newCheckupDate 字符串的值时,它显示为我想要的 "dd/mm/yyyy"

但是,当它保存到 Excel 中时,单元格将包含 "dd/mm/yyyy 00:00:00"。我不想添加时间。 该单元格被格式化为日期单元格。

我感觉Excel可能是这里问题的原因,但我不知道如何解决它。

提前感谢您的帮助!

【问题讨论】:

    标签: c# excel date time datepicker


    【解决方案1】:

    无需深入研究原因,您可以简单地格式化循环中的单元格:

    for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
    {
        for (int k = 0; k < dataGridView1.Columns.Count; k++)
        {
            worksheet.Cells[i + 2, k + 1] = dataGridView1.Rows[i].Cells[k].Value.ToString();
            worksheet.Cells[i + 2, k + 1].NumberFormat = "dd/mm/yyyy"
        }
    }
    
    workbook.Save();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多