按日期将字典插入到预先存在的Excel文件中

时间:2011-06-12 19:10:31

标签: c# excel

数据存储在字典中并按月排列。 (字符串是需要插入的内容。)

我有一个预先存在的excel文件:它包含第一列中一年中的所有日期,以及下一列中的各种条目。需要保留这些数据。

我的任务是基本上将Dictionary插入此excel文件中。使事情复杂化的是字典中的Date值需要与excel列中的日期值(日期和月份)相对应。需要说明的是:(“xxxx”,1980-05-12)需要插入excel列,第一个单元格为“12-May”(这是通过Fill->系列生成的)。

我不知道。几年前我接受的一些编程让我大吃一惊。我已经从网页中提取了数据,并对其进行了整理 - 使一些无聊的手动工作自动化。但是我在最后一英里步履蹒跚,当我知道一个简单的脚本就足够了时,我真的不想手动输入几千个数据点。

所以,任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

如果安装了Excel,则可以使用excel interop填写Excel工作表。使用DateTime string format options可以轻松设置日期格式。在您的情况下,myDateTime.ToString("dd-MMM")会产生所需的格式。

答案 1 :(得分:0)

private void FindAndSetDate(WorkSheet ws, Dictionary<DateTime,string> dict)
{
    Range find = null;
    foreach(KeyValuePair<DateTime,String> kvp in Dict)
    {
        find = ws.Cells.Find(kvp.Key, Type.Missing,
        Microsoft.Office.Interop.Excel.XlFindLookIn.xlValues, Microsoft.Office.Interop.Excel.XlLookAt.xlWhole,
        Microsoft.Office.Interop.Excel.XlSearchOrder.xlByRows, Microsoft.Office.Interop.Excel.XlSearchDirection.xlNext, false,
        Type.Missing, Type.Missing);

        if(find!=null) find.Offset[0,1].Value=kvp.Value;    
    }   

}

看一下这个帖子How to iterate through a column in an Excel application through C# Console?