C# 对Excel表格的操作!

本文介绍如何使用 C# 对 Excel 文件进行操作,包括创建、读取和写入数据等基本功能。通过实例展示了如何利用 Excel 应用程序对象进行工作簿的打开、数据的读写及保存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

using Excel;
using System.Reflection;


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


        private void Form1_Load(object sender, EventArgs e)
        {
          
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //1.创建Exl应用程序对象,并显示与否.
            Excel.Application xApp = new Excel.ApplicationClass();
            xApp.Visible = true;

            //2.创建WorkBook对象,可以有两种方式,:1.新建一个WorkBook,2.打开已有的文件.
            //Workbook newBook = xApp.Workbooks.Add(Missing.Value);      //新建表.
            Workbook xBook = xApp.Workbooks._Open(@"d:\test.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

            //3.选择Sheet表,两种方式:
            Worksheet tempSheet = (Excel.Worksheet)xBook.Sheets[2]; //按序表.
            //Worksheet xSheet = (Excel.Worksheet)xBook.ActiveSheet;  //当前表.
          

            //读取数据,通过Range对象(通过n行n列),当单元格为空时,会报错.
            Excel.Range rng1 = tempSheet.get_Range("A1", Type.Missing);
            //MessageBox.Show(rng1.Value2.ToString());

            //读取数据,通过Range对象,便使用不同的接口得到Range
            Range rng2 = (Excel.Range)tempSheet.Cells[1, 1];
            //MessageBox.Show(rng1.Value2.ToString());

            //写入数据,注(好像指针一样,看着写到了变量了,但是写到了Exl表上)
            for (int i = 1; i < 10; i++)
            {
                //Range rng3 = tempSheet.get_Range("C6", Missing.Value);
                Range rng3 = (Excel.Range)tempSheet.Cells[i,i];
                rng3.Value2 = "Hello";
                rng3.Interior.ColorIndex = 6;   //设置Range的背景色
            }

            //保存数据,方式一:
            //xBook.SaveAs(@"d:\bookSaveAs.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,Missing.Value,Missing.Value);


            //保存方式二:
            tempSheet.SaveAs(@"d:\sheetSave.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

            //保存方式三
            xBook.Save();

            //关闭Excel应用程序
            tempSheet = null;
            xApp.Quit();    //这句话非常重要,否则Exlcel对象不能从内存中退出.
            xApp = null;
        }
    }
}

转载于:https://www.cnblogs.com/zhanghua518/archive/2008/11/04/1326547.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值