C# excel操作

news2024/11/18 13:51:40

使用库

Spire.Xls

下载

示例数据

代码示例

1.删除列

代码

        private static void DeleteExcelColumns1(string excelPath) 
        {
            if (excelPath.Length == 0) 
            {
                Console.WriteLine("excel文件路径为空");
            }
            else
            {
                Console.WriteLine("删除列方法1:保留第一列,删除其他列");
                Workbook workbook = new Workbook();
                workbook.LoadFromFile(excelPath);
                //获取第一张工作表
                Worksheet sheet = workbook.Worksheets[0];
                int ColumnsLength = sheet.Columns.Count();
                //删除除了第一行以外的其他列,因为删除的操作是在上一步的结果上进行的操作
                for (int i = 2; i <= ColumnsLength; i++)
                {
                    sheet.DeleteColumn(2);
                }
                //设置数据自适应列宽
                sheet.AllocatedRange.AutoFitColumns();
                //修改后的保存为csv文件
                sheet.SaveToFile(Path.GetDirectoryName(excelPath)+"/删除列方法1"+Path.GetFileNameWithoutExtension(excelPath)+".csv", ",", Encoding.UTF8);
            }           
        }
        private static void DeleteExcelColumns2(string excelPath)
        {
            if (excelPath.Length == 0)
            {
                Console.WriteLine("excel文件路径为空");
            }
            else
            {
                Console.WriteLine("删除列方法2:保留第一列,删除其他列");
                Workbook workbook = new Workbook();
                workbook.LoadFromFile(excelPath);
                //获取第一张工作表
                Worksheet sheet = workbook.Worksheets[0];
                sheet.DeleteColumn(2,9);
                //设置数据自适应列宽
                sheet.AllocatedRange.AutoFitColumns();
                //修改后的保存为csv文件
                sheet.SaveToFile(Path.GetDirectoryName(excelPath) + "/删除列方法2" + Path.GetFileNameWithoutExtension(excelPath) + ".csv", ",", Encoding.UTF8);
            }
        }

结果

2.删除行

代码

        private static void DeleteExcelRow1(string excelPath)
        {
            if (excelPath.Length == 0)
            {
                Console.WriteLine("excel文件路径为空");
            }
            else
            {
                Console.WriteLine("删除行方法1:保留第一行,删除其他行");
                Workbook workbook = new Workbook();
                workbook.LoadFromFile(excelPath);
                //获取第一张工作表
                Worksheet sheet = workbook.Worksheets[0];
                int ColumnsLength = sheet.Rows.Count();
                //删除除了第一行以外的其他列,因为删除的操作是在上一步的结果上进行的操作
                for (int i = 2; i <= ColumnsLength; i++)
                {
                    sheet.DeleteRow(2);
                }
                //设置数据自适应列宽
                sheet.AllocatedRange.AutoFitColumns();
                //修改后的保存为csv文件
                sheet.SaveToFile(Path.GetDirectoryName(excelPath) + "/删除行方法1" + Path.GetFileNameWithoutExtension(excelPath) + ".csv", ",", Encoding.UTF8);
            }
        }
        private static void DeleteExcelRow2(string excelPath)
        {
            if (excelPath.Length == 0)
            {
                Console.WriteLine("excel文件路径为空");
            }
            else
            {
                Console.WriteLine("删除行方法2:保留第一行,删除其他行");
                Workbook workbook = new Workbook();
                workbook.LoadFromFile(excelPath);
                //获取第一张工作表
                Worksheet sheet = workbook.Worksheets[0];
                sheet.DeleteRow(2, 9);
                //设置数据自适应列宽
                sheet.AllocatedRange.AutoFitColumns();
                //修改后的保存为csv文件
                sheet.SaveToFile(Path.GetDirectoryName(excelPath) + "/删除行方法2" + Path.GetFileNameWithoutExtension(excelPath) + ".csv", ",", Encoding.UTF8);
            }
        }
        private static void DeleteExcelRow3(string excelPath)
        {
            if (excelPath.Length == 0)
            {
                Console.WriteLine("excel文件路径为空");
            }
            else
            {
                Console.WriteLine("删除行方法3:保留第一行,删除其他行");
                Workbook workbook = new Workbook();
                workbook.LoadFromFile(excelPath);
                //获取第一张工作表
                Worksheet sheet = workbook.Worksheets[0];
                int[] delrows = { 2, 3 ,4,5,6,7,8,9,10};
                sheet.DeleteRows(delrows);
                //设置数据自适应列宽
                sheet.AllocatedRange.AutoFitColumns();
                //修改后的保存为csv文件
                sheet.SaveToFile(Path.GetDirectoryName(excelPath) + "/删除行方法3" + Path.GetFileNameWithoutExtension(excelPath) + ".csv", ",", Encoding.UTF8);
            }
        }

结果

修改表

代码

        private static void ChangeExcelHeader1(string excelPath)
        {
            if (excelPath.Length == 0)
            {
                Console.WriteLine("excel文件路径为空");
            }
            else
            {
                Console.WriteLine("修改表头");
                Workbook workbook = new Workbook();
                workbook.LoadFromFile(excelPath);
                //获取第一张工作表
                Worksheet sheet = workbook.Worksheets[0];
                string value0 = sheet.Cells[0].Value;
                Console.WriteLine(value0);
                string value11 = sheet.Cells[11].Value;
                Console.WriteLine(value11);
                sheet.Cells[1].Value = "12";
                string valuesA1 = sheet.Range["A1"].Value;
                Console.WriteLine(valuesA1);
                sheet.Range["C1"].Value = "13";
                //设置数据自适应列宽
                sheet.AllocatedRange.AutoFitColumns();
                //修改后的保存为csv文件
                sheet.SaveToFile(Path.GetDirectoryName(excelPath) + "/修改表头" + Path.GetFileNameWithoutExtension(excelPath) + ".csv", ",", Encoding.UTF8);
            }
        }

结果

参考文献

C#/VB.NET 删除 Excel 中的行和列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1076507.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

日报系统:优化能源行业管理与决策的利器

日报系统&#xff1a;优化能源行业管理与决策的利器 引言&#xff1a; 随着能源行业的快速发展和复杂性增加&#xff0c;管理各个部门的数据变得至关重要。为了提高运营效率和决策的准确性&#xff0c;能源行业普遍采用日报系统作为综合数据汇报和分析的工具。本文将探讨日报系…

centos7 配置coreboot编译环境 以及编译问题解决

需要的配置 (有的资源在国外可能需要翻墙) 操作系统: centos7.9 参考文章 coreboot源码分析之编译和运行coreboot - 知乎 //coreboot编译总说明 https://www.coreboot.org/Build_HOWTO#Requirements https://poe.com/ChatGPT 注意: 因为github不稳定 所以gitee为主 1. 下载…

yolov5训练加速

问题记录及解决 1、使用ddp训练&#xff0c;生成标签的cache报错&#xff0c;等待时间过长。 方法&#xff1a;先使用dp训练&#xff0c;生成标签的cache&#xff0c;停掉再使用ddp方式训练。 2、 [E ProcessGroupNCC L.cpp:828] [Rank 6] Watchdog caught collective operat…

VR全景技术打造“智慧亚运”,实现720度自由视角

亚运会已然闭幕&#xff0c;亚运盛会不仅仅是体育健儿的竞技舞台&#xff0c;也是新技术的展示窗口&#xff0c;通过5G技术打造“智慧亚运”&#xff0c;VR技术在亚运会上的呈现比比皆是。有人可能会觉得非常新奇&#xff0c;其实VR全景技术早在几年前开始融入我们的生活。 VR全…

暴力递归转动态规划(八)

棋盘问题 将棋盘最左下角当作是平面直角坐标系的原点&#xff08;0&#xff0c;0&#xff09;位置&#xff0c;那么这个棋盘横坐标上就是9条线&#xff0c;纵坐标就是10条线&#xff0c;给定三个参数a、b、k&#xff0c;返回“马”从&#xff08;0&#xff0c;0&#xff09;位置…

BUUCTF reverse3 1

先运行下 看来是输入正确的flag 使用DIE查看文件 看起来没有壳&#xff0c;直接IDA打开 shift F12查找字符串 一路跟踪 到汇编窗口后F5 这里对Destination和Str2进行比较&#xff0c;Str2有值那么Str2就是经过上面一系列处理之后得到的内容了 继续分析上面的代码 根据…

企业电子杂志如何制作与分享

企业电子杂志相比传统纸质杂志具有更多的多媒体展示方式。在制作过程中&#xff0c;可以添加视频、音频、动画等多媒体元素来丰富电子杂志的内容&#xff0c;给人以独特的阅读体验。 如何制作企业电子杂志并分享出去&#xff1f;推荐用FLBOOK&#xff0c;可以快速做出漂亮的翻…

软考报名全流程及注意事项

软考报名方式有两种&#xff1a;现场报名与网上报名 现场报名&#xff1a; 由本人提出申请&#xff0c;按照规定携带身份证明到当地考试管理机构报名&#xff0c;领取准考证。 凭准考证、身份证明在指定的时间、地点考试。 具体各个省份&#xff0c;请考生登录所在省的软考…

C#学习系列相关之多线程(四)----async和await的用法

一、async、await用法的作用 async用法主要是用来作为修饰符将方法作为异步方法使用&#xff0c;await关键字只用作为在异步方法才能使用&#xff0c;也就是只有当方法有async修饰后&#xff0c;才能在方法中使用await&#xff0c;await后跟Task新的任务启动。&#xff08;awai…

MySQL数据库技术笔记(5)

聚合函数&#xff1a; count(): 统计某种数据的数量 sum(): 统计某种数据的总和 max(): 某种数据的最大值 min(): 某种数据的最小值 avg(): 某种数据的平均值 排序的用法 : 关键字 order by 升序 : ASC &#xff08;从小到大排序&#xff09; 默认为升序 降序 : DESC…

基于拉丁超立方法的风光场景生成与削减

代码链接&#xff1a;基于拉丁超立方法的风光场景生成与削减 摘要&#xff1a;与蒙特卡洛法不同&#xff0c;拉丁超立方采样改进了采样策略能够做到较小采样规模中获得较高的采样精度&#xff0c;属于分层抽样技术&#xff0c;设定风光出力遵从正态分布normrnd&#xff0c;从而…

d3dcompiler_43.dll是什么文件?缺失d3dcompiler_43.dll文件修复与解决方法

今天我要和大家分享的是关于d3dcompiler_43.dll丢失的解决方法。我相信很多网友在使用电脑时都遇到过这个问题&#xff0c;那么接下来就让我们一起来探讨一下如何解决这个问题吧&#xff01; 首先&#xff0c;让我们来了解一下d3dcompiler_43.dll文件的总体介绍。d3dcompiler_…

天津权威大数据培训机构 数据分析师的就业薪资多少?

中国大数据产业起步晚&#xff0c;发展速度快&#xff0c;物联网、移动互联网的迅速发展&#xff0c;使数据产生速度加快、规模加大&#xff0c;迫切需要运用大数据手段进行分析处理&#xff0c;提炼其中的有效信息。 学大数据可就业的行业 随着大数据技术的普及和应用&#…

推进高校学生党建工作数字化建设的思考

高校学生党建工作数字化建设是指利用现代信息技术手段&#xff0c;对高校学生党建工作进行全面、深入的改革和创新&#xff0c;以推进学生党员教育管理服务工作的现代化和精细化发展。 下面将从以下几个方面对高校学生党建工作数字化建设进行详细介绍。 一、背景分析 随着信…

“中式汉堡”塔斯汀圈粉受众的秘诀是什么?

在近几年的餐饮品牌中&#xff0c;塔斯汀堪称逆势扩张的典范&#xff0c;作为国人自己的汉堡品牌&#xff0c;它历经十一年的发展历程&#xff0c;为什么塔斯汀能在一众肯德基、麦当劳中异军突起&#xff0c;圈粉无数人&#xff1f;下面就让媒介盒子为你揭秘&#xff01; 一、 …

使用vlc获取海康威视视频流

1.下载相关软件 1.1海康威视官网-服务支持-工具软件-设备网络搜索 下载地址&#xff1a; https://www.hikvision.com/cn/support/tools/hitools/注意&#xff1a;必须跟摄像头在同一个局域网下才可以使用设备网络搜索工具&#xff0c;才能使用vlc获取到视频流。 1.2下载VLC …

2023最新版Android逆向教程——第2天:dex反编译工具的安装和使用

目录 一、jadx的安装和使用1.1 jadx 的简介1.2 jadx 的安装1.3 jadx 的命令1.4 jadx-gui 的使用方法1.5 常见问题 二、gda的安装和使用三、JEB的安装和使用3.1 JEB的简介3.2 JEB的安装3.3 JEB实战 每个 Android App 都有对应的安装包&#xff0c;是以 apk 为名字后缀的文件&…

掌握 Git:代码版本控制的基本步骤(强力推荐的工具)

fairleevivobook:~/CLionProjects/SDL_SLAM$ git init提示&#xff1a;使用 master 作为初始分支的名称。这个默认分支名称可能会更改。要在新仓库中 提示&#xff1a;配置使用初始分支名&#xff0c;并消除这条警告&#xff0c;请执行&#xff1a; 提示&#xff1a; 提示&…

通过Node.js获取高德的省市区数据并插入数据库

通过Node.js获取高德的省市区数据并插入数据库 1 创建秘钥1.1 登录高德地图开放平台1.2 创建应用1.3 绑定服务创建秘钥 2 获取数据并插入2.1 创建数据库连接工具2.2 请求数据2.3 数据处理2.4 全部代码 3 还可以打印文件到本地 1 创建秘钥 1.1 登录高德地图开放平台 打开开放平…

使用Python采集京东商品评论并保存至本地

不知道各位网购的时候&#xff0c;是否会去留意商品评价&#xff0c;有些小伙伴是很在意评价的&#xff0c;看到差评就不想买了&#xff0c;而有些小伙伴则是会对差评进行理性分析&#xff0c;而还有一类人不在乎这个。京东作为中国最大的电商平台之一&#xff0c;拥有大量的商…