从Datepicker在Excel中保存日期

时间:2013-03-09 15:16:52

标签: c# excel date time datepicker

我正在尝试将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可能是问题的原因,但我不知道如何解决它。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

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

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();