关于C#使用Microsoft.Office.Interop.Excel,对Execl进行增删改查等操作

news/2024/7/21 5:31:17 标签: c#, microsoft, excel

关于C#使用Microsoft.Office.Interop.Excel,对Execl进行增删改查等操作

  • 1.引用
  • 2.指定某行某列上增加数据
  • 3.指定某行某列上删除数据
  • 4.指定某行某列上修改数据
  • 5.向Execl导入数据
  • 6.导出数据

1.引用

如何引用该DLL,详情请查看——关于C#如何引用Microsoft.Office.Interop.Excel

2.指定某行某列上增加数据

// 创建Excel应用程序对象
Excel.Application excelApp = new Excel.Application();

// 打开Excel文件
Excel.Workbook workbook = excelApp.Workbooks.Open("文件路径");

// 获取第一个工作表
Excel.Worksheet worksheet = workbook.Sheets[1];

// 在新插入的行中写入数据
worksheet.Cells[5, 1].Value = "数据1";
worksheet.Cells[5, 2].Value = "数据2";

// 保存文件
workbook.Save();

// 关闭Excel应用程序
workbook.Close();
excelApp.Quit();

MessageBox.Show("增加数据成功!");

3.指定某行某列上删除数据

// 创建Excel应用程序对象
Excel.Application excelApp = new Excel.Application();

// 打开Excel文件
Excel.Workbook workbook = excelApp.Workbooks.Open("文件路径");

// 获取第一个工作表
Excel.Worksheet worksheet = workbook.Sheets[1];

// 使用EntireRow属性选择指定的行,并清除内容
Excel.Range targetRange = worksheet.Cells[2, 1].EntireRow;
targetRange.ClearContents();

// 保存文件
workbook.Save();

// 关闭Excel应用程序
workbook.Close();
excelApp.Quit();

MessageBox.Show("删除数据成功!");

4.指定某行某列上修改数据

// 创建Excel应用程序对象
Excel.Application excelApp = new Excel.Application();

// 打开Excel文件
Excel.Workbook workbook = excelApp.Workbooks.Open("文件路径");

// 获取第一个工作表
Excel.Worksheet worksheet = workbook.Sheets[1];

// 修改数据
worksheet.Cells[2, 1].Value = "测试数据";

// 保存文件
workbook.Save();

// 关闭Excel应用程序
workbook.Close();
excelApp.Quit();

MessageBox.Show("修改数据成功!");

5.向Execl导入数据

// 创建Excel应用程序对象
Excel.Application excelApp = new Excel.Application();

// 打开Excel文件
Excel.Workbook workbook = excelApp.Workbooks.Open("文件路径");

// 获取第一个工作表
Excel.Worksheet worksheet = workbook.Sheets[1];

// 假设要导入的数据是一个二维数组
object[,] data = new object[,]
{
	{ "数据1", "数据2", "数据3" },
	{ 1, 2, 3 },
	{ "A", "B", "C" }
};

// 获取数据的维度
int rowCount = data.GetLength(0);
int columnCount = data.GetLength(1);

// 使用批量操作设置单元格的值
Excel.Range dataRange = worksheet.Range[worksheet.Cells[3, 4], worksheet.Cells[5, 6]];
dataRange.Value = data;

// 保存文件
workbook.Save();

// 关闭Excel应用程序
workbook.Close();
excelApp.Quit();

MessageBox.Show("导入Execl数据成功!");

6.导出数据

// 创建Excel应用程序对象
Excel.Application excelApp = new Excel.Application();

// 打开Excel文件
Excel.Workbook workbook = excelApp.Workbooks.Open("文件路径");

// 获取第一个工作表
Excel.Worksheet worksheet = workbook.Sheets[1];

// 获取数据的维度
int rowCount = worksheet.UsedRange.Rows.Count;
int columnCount = worksheet.UsedRange.Columns.Count;

// 创建一个二维数组来存储数据
object[,] data = new object[rowCount, columnCount];

// 使用循环遍历单元格,并将值存储在二维数组中
for (int i = 0; i < rowCount; i++)
	for (int j = 0; j < columnCount; j++)
		data[i, j] = worksheet.Cells[2 + i, 1 + j].Value;

// 关闭Excel应用程序
workbook.Close();
excelApp.Quit();

// 输出数据
for (int i = 0; i < rowCount; i++)
{
for (int j = 0; j < columnCount; j++)
	{
		textBox1.AppendText(data[i, j] + "\t");
	}
	textBox1.AppendText("\r\n");
}

MessageBox.Show("导出Execl数据成功!");

http://www.niftyadmin.cn/n/4957949.html

相关文章

VMwar安装Centos7保姆级教程

下载文件 首先我们先下载Centos7的官方镜像和VM虚拟机软件 下面是百度云盘的下载链接 链接&#xff1a;https://pan.baidu.com/s/1aF55_F9IK4pFB45d5vHBmg?pwd87vc 提取码&#xff1a;87vc –来自百度网盘超级会员V1的分享 安装虚拟机 首先我们先把VMware16.1.0.rar文件解压…

SpringBootWeb案例 Part 2

3. 员工管理 完成了部门管理的功能开发之后&#xff0c;我们进入到下一环节员工管理功能的开发。 基于以上原型&#xff0c;我们可以把员工管理功能分为&#xff1a; 分页查询 带条件的分页查询 删除员工 新增员工 修改员工 那下面我们就先从分页查询功能开始学习。 3.…

机器视觉之平面物体检测

平面物体检测是计算机视觉中的一个重要任务&#xff0c;它通常涉及检测和识别在图像或视频中出现的平面物体&#xff0c;如纸张、标志、屏幕、牌子等。下面是一个使用C和OpenCV进行平面物体检测的简单示例&#xff0c;使用了图像中的矩形轮廓检测方法&#xff1a; #include &l…

图像降采样的计算原理:F.interpolate INTER_AREA

一、F.interpolate——数组采样操作 torch.nn.functional.interpolate(input, size=None, scale_factor=None, mode=nearest, align_corners=None, recompute_scale_factor=None) 功能:利用插值方法,对输入的张量数组进行上\下采样操作,换句话说就是科学合理地改变数组的尺…

适用于 Docker 用户的 kubectl

适用于 Docker 用户的 kubectl 你可以使用 Kubernetes 命令行工具 kubectl 与 API 服务器进行交互。如果你熟悉 Docker 命令行工具&#xff0c; 则使用 kubectl 非常简单。但是&#xff0c;Docker 命令和 kubectl 命令之间有一些区别。以下显示了 Docker 子命令&#xff0c; 并…

Netty:ByteBuf的清空操作

说明 io.netty.buffer.ByteBuf有个函数clear()&#xff0c;它可以将ByteBuf的readerIndex和writerIndex都设置为0。 代码示例 package com.thb;import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled;public class Demo {public static void main(String[] args…

AI嵌入式全景:各厂商、系列和开发工具的综合概览

要看几个方面 1 算力&#xff1a; 2 支持何种模型&#xff1a; 3 是否支持可视化的窗口系统&#xff1a; 一般而言各个平台均采用linux操作系统&#xff0c;官方提供对应SDK&#xff0c;安装好后可使用硬件加速资源。 而且如果要使用其硬件加速&#xff0c;一般都要完成模型转…

8月18日上课内容 Haproxy搭建Web群集

本章结构 课程大纲 Haproxy调度算法 常见的web集群调度器 目前常见的Web集群调度器分为软件和硬件软件 通常使用开源的LVS、Haproxy、Nginx 硬件一般使用比较多的是F5&#xff0c;也有很多人使用国内的一些产品&#xff0c;如梭子鱼、绿盟等 Haproxy应用分析 LVS在企业应用中…