在Excel中插入和更新数据

到目前为止,所有的Excel的东西围绕打开一个文件,写入值并保存它。

有没有办法来自动更新Excel中的数据(打开时)?

谢谢!

PS我正在寻找更多关于Microsoft.Office.Interop.Excel的信息;

不知道你是如何写数据,但从Excel中读取数据,这是我所做的:

select我需要的范围(可以从一个单元格到几个行和列 – 这里是一个单元格):

Excel.Range cell = m_worksheet.get_Range(_CellName(end, column), _CellName(end, column)); 

然后从选定的单元格中获取所需的值:

 string value = cell.Value2.ToString().Substring(...); 

如果有的话,你也可以操纵颜色:

 if(Convert.ToInt32(cell.Interior.ColorIndex) == 6) //we have yellow background 

但是,如果用户使用Excel 2007,请注意颜色。 你将不得不使用RGB代码。

此外,在处理Excel文件时,我认为它locking了其他应用程序。 您必须检查第三方是否重新设置了值。

而对于_CellName:

 private string _CellName(int row, int col) { string result = ""; if (col > 26) // for columns like 'AA' { result = ((char)((char)(col / 26) + 'A' - 1)).ToString(); //get the first letter } result += ((char)((char)(col % 26) + 'A' - 1)).ToString(); //get the second/only letter return result + Convert.ToString(row); } 

为什么不通过ADO访问excel并将其视为数据库呢? http://www.connectionstrings.com/excel

你可以使用一个定时器,并重新启动定期更新或做任何事情。 这个链接详细描述了这个概念。 http://www.ehow.com/how_5052033_insert-timer-ms-excel.html
在你的情况下它的工作方式是定期让你从外部资源获取数据,然后你可以写一些VBA代码(或macros)来更新你的工作表。
就像股票报价器一样。