按日期将字典插入先前存在的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?
答
如果您安装了Excel,您可以使用excel interop来填写Excel表格。格式化日期很容易,DateTime
string format options。在你的情况下,myDateTime.ToString("dd-MMM")
会导致所需的格式。
“对象引用不设置到对象的实例。”查找。 – user795028 2011-06-15 08:01:59
您是否为工作表设置了正确的ws? – 2011-06-15 08:17:52
是的。我的Excel应用程序代码是: 'Workbook workbook = excel.Workbooks.Open(path + @“\ x”); Worksheet ws =(Worksheet)workbook.Sheets [1];' – user795028 2011-06-15 12:46:46