c#,代码从vs2019上搞到2022上出现很多错误

代码搞到2022上后就提示变量无法引用非静态字段,什么成员声明无效的错误,求解,万分感谢!

img

img

img

当然了,你把代码直接写在类里面,肯定报错了。你得写在函数体里面。


using System;
using System.IO;
using System.Windows.Forms;
using Microsoft.Office.Interop.Excel;

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

        private void button1_Click(object sender, EventArgs e)
        {
            // 选择要读取的文本文件
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "Text Files (*.txt)|*.txt";
            if (openFileDialog.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            string filePath = openFileDialog.FileName;

            // 读取文本文件内容
            string textContent = File.ReadAllText(filePath);

            // 创建 Excel 应用程序对象
            var excelApp = new Application
            {
                Visible = false // 设置不显示 Excel 窗口
            };
            try
            {
                // 创建一个新的工作簿
                var workbook = excelApp.Workbooks.Add(Type.Missing);

                // 获取第一个工作表
                var worksheet = (Worksheet)workbook.Worksheets[1];

                // 根据换行符将文本内容分割成行
                var lines = textContent.Split(new[] { "\r\n", "\r", "\n" }, StringSplitOptions.None);

                // 将文本内容写入工作表中
                for (int i = 0; i < lines.Length; i++)
                {
                    worksheet.Cells[i + 1, 1] = lines[i];
                }

                // 保存 Excel 文件
                SaveFileDialog saveFileDialog = new SaveFileDialog();
                saveFileDialog.Filter = "Excel Workbook (*.xlsx)|*.xlsx";
                if (saveFileDialog.ShowDialog() == DialogResult.OK)
                {
                    workbook.SaveAs(saveFileDialog.FileName);
                }

                // 关闭工作簿和 Excel 应用程序
                workbook.Close();
                excelApp.Quit();
            }
            catch (Exception ex)
            {
                // 处理异常
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }
}