winforms 如何读取excel数据而不需要手动告诉单元格

q43xntqr  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(162)

我的代码在运行时会打开一个窗体,当窗体打开时,它会打开并读取Excel电子表格中的数据。在初始加载过程中,它会读取当前单元格中的特定数据。为了测试阅读额外数据的原理,我使用一个按钮并调用特定单元格来手动重新读取数据。下面是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace test_read_data_from_excel
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            OpenFile();

        }

        public void OpenFile()
        {
            Excel excel = new Excel(@"Test.xlsx", 1);
            textBox1.Text = excel.ReadCell(1, 0);
            textBox2.Text = excel.ReadCell(1, 1);
            textBox3.Text = excel.ReadCell(3, 2);
            
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 frm = new Form2();
            frm.Show();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            Excel excel = new Excel(@"Test.xlsx", 1);
            textBox1.Text = excel.ReadCell(2, 0);
            textBox2.Text = excel.ReadCell(2, 1);
            textBox3.Text = excel.ReadCell(4 , 2);
        }
    }

}

如何让表单自动读取数据,然后每隔10秒显示下一行或下一个数据单元格?P.S.我使用了一个按钮来检查下一行数据或下一个单元格的阅读是否正常工作。

tct7dpnv

tct7dpnv1#

对于计时器功能,请尝试以下操作:

private void InitializeTimer()  
{  
    // Call this procedure when the application starts.  
    // Set to 10 seconds.  
    Timer1.Interval = 10000; // .Interval is in milliseconds
    Timer1.Tick += new EventHandler(Timer1_Tick);  
  
    // Enable timer.  
    Timer1.Enabled = true;  
}  
  
private void Timer1_Tick(object Sender, EventArgs e)
{  
   //Call any excel code you want to run every 10 seconds here  
}

相关问题