从excel导入到winforms(数据未保存)c#

从excel导入到winforms(数据未保存)c#,winforms,excel,export,Winforms,Excel,Export,在web上有许多示例,例如如何使用Office.Interop.excel将excel文件中的数据传输到winform,而excel文件存储在磁盘上。下面是一个简单的例子: private void button1_Click(object sender, EventArgs e) { Excel.Application xlApp = new Excel.Application(); Excel.Workbook xlWorkbo

在web上有许多示例,例如如何使用Office.Interop.excel将excel文件中的数据传输到winform,而excel文件存储在磁盘上。下面是一个简单的例子:

private void button1_Click(object sender, EventArgs e)
        {
            Excel.Application xlApp = new Excel.Application();
            Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"C:/Users/1/Desktop/test2.xlsx");
            Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
            Excel.Range xlRange = xlWorksheet.UsedRange;

            int rowCount = xlRange.Rows.Count;
            int colCount = xlRange.Columns.Count;

            for (int i = 1; i < rowCount+1; i++)
            {
                for (int j = 1; j < colCount+1; j++)
                {
                    textBox1.Text= (xlRange.Cells[2,2].Value2.ToString());
                    textBox2.Text = (xlRange.Cells[2, 3].Value2.ToString());
                }
            }
        }
private void按钮1\u单击(对象发送者,事件参数e)
{
Excel.Application xlApp=新的Excel.Application();
Excel.Workbook xlWorkbook=xlApp.Workbooks.Open(@“C:/Users/1/Desktop/test2.xlsx”);
Excel._工作表xlWorksheet=xlWorkbook.Sheets[1];
Excel.Range xlRange=xlWorksheet.UsedRange;
int rowCount=xlRange.Rows.Count;
int colCount=xlRange.Columns.Count;
对于(int i=1;i

不幸的是,当excel文件已经打开,线程中的数据正在加载到电子表格中,并且单元格中的数字每秒都在变化时,我找不到如何导出数据。在上面的代码中,文本框中仅显示上次保存的数据。我的问题有解决办法吗?

你能更具体地说明你的问题吗?为了清楚起见,您需要打开一个Excel工作簿,并将其中的数据导入winforms。然后,随着数据的变化(来自用户?其他进程正在进行?),您希望每秒记录每一次变化。听起来您需要使用数据库来记录每次所做的更改。或者,如果数据集不是非常大,那么您可以将其全部记录在Excel的另一个工作表中。不,Excel手册已经打开了。数据通过DDE从另一个应用程序导入。在这个应用程序中,数据变化非常快,但我只需要最新的数字。所有以前的数字都不需要存储。简单地说,excel工作表中有一个单元格,其中包含不断变化的数据,winform中有一个文本框,它必须反映excel单元格的最新图形。看起来不像我想的那么简单……看看是否可以在该单元格上动态添加一个命名范围,然后挂接到其更改事件?有趣的问题。当我明天放假回家时,我会尽力调查一下的谢谢你,我很感激