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 文件