使用Microsoft.Office.Interop.Excel简单操作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;
using System.Threading;
using Microsoft.Office.Interop.Excel;
using System.Reflection;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            tableLayoutPanel4.RowCount = 1;
            tableLayoutPanel4.ColumnCount = 1;
        }

#region 从按钮2的点击事件开始看

        private void button1_Click(object sender, EventArgs e)
        {
            //**************************************************************



            // Import C:\Program Files\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14\Microsoft.Office.Interop.Excel.dll

            // Import C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\System.Drawing.dll



            //Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
            //Workbook workbook = app.Workbooks.Add();




            //Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();

            //Workbook book = excel.Workbooks.Add(@"C:\Users\16125\Desktop\新建 Microsoft Excel 工作表.xlsx");

            //excel.Visible = true;

            //var sheet = book.Sheets.Add() as Microsoft.Office.Interop.Excel.Worksheet;

             add link

            //var range = sheet.Range["B1"];

            //range.Value2 = "图片";

            //sheet.Hyperlinks.Add(range, @"E:\.1aaaaaaaaaaaaaa暂存E盘\Resources\112.bmp");

            

            //Thread.Sleep(50);

            book.Save(@"D:\1.3.马达西奇");
            book.SaveCopyAs(@"E:\.1aaaaaaaaaaaaaa暂存E盘\Resources\112.bmp");
            //book.Close(true, @"D:\1.3.马达西奇\", null);

            //excel.Quit();

            //System.Runtime.InteropServices.Marshal.ReleaseComObject(book);

            //System.Runtime.InteropServices.Marshal.ReleaseComObject(excel);



            //*****************************************************************
        }
#endregion

        private void button2_Click(object sender, EventArgs e)
        {
            //*****************************************************************

                string filePath = @"D:\1.3.马达西奇\";
                CreateExcel(filePath);

            //*****************************************************************
        }
        //创建一个新的表格并向里面写入数据
        public static void CreateExcel(string filePath)
        {
            Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();//创建一个Excel应用软件的实例
            excel.Visible = true;//是否打开这个Excel应用软件
            //excel.Application.Workbooks.Add();//在Excel应用软件中新建一个工作簿
            //Microsoft.Office.Interop.Excel.Workbook myBook = excel.Workbooks[1];//拿到新建的工作簿对象以便于操作工作簿
            Microsoft.Office.Interop.Excel.Workbook myBook = excel.Workbooks.Open(@"D:\1.3.马达西奇\20231121.xlsx");//使用Excel应用软件打开已创建的工作簿并拿到对象以便于操作工作簿
            Microsoft.Office.Interop.Excel.Worksheet mySheet= (Microsoft.Office.Interop.Excel.Worksheet)myBook.ActiveSheet;//拿到工作簿中的活跃的表格的对象以便于操作表格

            //页签名
            mySheet.Name = "Student";//表格名字
            mySheet.Cells.Select();//选择全部单元格
            mySheet.Cells.NumberFormatLocal = "@";//必要的设置
            mySheet.Cells.EntireColumn.AutoFit();//自动列宽和行高

            //单元格属性以及列名,列名属性
            mySheet.Cells.Font.Name ="Arial";// "Ink Free"//字体选择                                                
            mySheet.Cells.Font.Size = 9;//字号大小
            //mySheet.Cells[1,1].HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;//指定单元格文字居中显示
            mySheet.Cells.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter;//所有单元格文字居中显示
            mySheet.Range["A1", "D1"].Font.Bold = true;//表头字体加粗
            mySheet.Range["A1", "D1"].Interior.ColorIndex = 6;//表头颜色

            //建立Excel栏位表头,添加表头内容
            mySheet.Range["A1"].Value = "马达西奇1";
            mySheet.Range["B1"].Value = "马达西奇2";
            mySheet.Range["C1"].Value = "马达西奇3";
            mySheet.Range["D1"].Value = "马达西奇4";
            

            //添加数值
            //必须从第2行开始往单元格中添加数值
            for (int rownum = 2; rownum < 5; rownum++)
            {
                mySheet.Range["A" + rownum.ToString()].Value = "Jane";
                mySheet.Range["B" + rownum.ToString()].Value = "202005190" + rownum;
                mySheet.Range["C" + rownum.ToString()].Value = "女";
                mySheet.Range["D" + rownum.ToString()].Value = "2020051" + rownum;
            }
            //在单元格中添加图片超链接
            var range = mySheet.Range["E3"];//在单元格中添加文字
            range.Value2 = "图片";
            mySheet.Hyperlinks.Add(range, @"E:\.1aaaaaaaaaaaaaa暂存E盘\Resources\112.bmp");//将单元格中的文字绑定超链接

            //mySheet.Cells.Select();
            //mySheet.Range["AB1"].Value = "Jane";

            excel.DisplayAlerts = false;
            excel.AlertBeforeOverwriting = false;
            //设置保存路径
            string path = filePath + DateTime.Now.ToString("yyyyMMdd") + "77.xlsx";
            //保存Excel
            myBook.Close(true, path, null);
            //退出Excel
            excel.Quit();

        }
    }
}

1、在Excel根目录找到Microsoft.Office.Interop.Excel.dll文件并将该文件添加至项目引用然后添加命名空间using Microsoft.Office.Interop.Excel

2、

3、复制代码。

4、这种方式有可能会导致错误,还需要完善,使用此方法时不能打开要操作的Excel表格。

5、并不很推荐使用Microsoft.Office.Interop.Excel。

6、其他比较好用的操作Excel的工具:

OpenXml:在 .NET Core 中使用OpenXml读取和写入 Excel 文件 

NPOI:在 .NET Core 中使用 NPOI读取和写入 Excel 文件

EPPlus:在 .NET Core 中使用EPPlus读取和写入 Excel 文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值