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

问题描述:

数据存储在字典中并按月排列。 (该字符串是需要插入的内容。)按日期将字典插入先前存在的Excel文件中

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

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

我不知道。我正在几年前收集的一些节目中spl spl不前。我已经从网页中提取数据,并对其进行分类 - 将一些枯燥的手动工作自动化。但是当我知道一个简单的脚本就足够了时,我在最后一英里徘徊,并且严重地不想手动输入几千个数据点。

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

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?

+0

“对象引用不设置到对象的实例。”查找。 – user795028 2011-06-15 08:01:59

+0

您是否为工作表设置了正确的ws? – 2011-06-15 08:17:52

+0

是的。我的Excel应用程序代码是: 'Workbook workbook = excel.Workbooks.Open(path + @“\ x”); Worksheet ws =(Worksheet)workbook.Sheets [1];' – user795028 2011-06-15 12:46:46

如果您安装了Excel,您可以使用excel interop来填写Excel表格。格式化日期很容易,DateTime string format options。在你的情况下,myDateTime.ToString("dd-MMM")会导致所需的格式。