我正在尝试将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可能是问题的原因,但我不知道如何解决它。
提前感谢您的帮助!
答案 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();