C#对Excel的基本操作

C#利用NPOI对Excel进行基本操作 C#利用NPOI操作Excel详解 一、 下载npoi控件,并进行引用。 1.下载地址: 2.引用npoi (1)、下载后的npoi包括5个dll文件: (2)、下载完成之后首先创建一个控制台程序,然后在视图里面,调出解决方案资源管理器,点击“引用”>>“添加引用”>>“浏览”>>找到自己所下载的NPOI文件夹,添加上文中的5个动态库。 二、 创建新的Exc... 阅读详情

Office2007尚未普及,Office2000~2003仍然是主流。本文介绍一些C#处理Excel得方法,都是自己封装的~

1. 添加COM组件的Reference

2. 引入名字空间

using Microsoft.Office.Interop.Excel

3. 层次结构

1个Application包含多个Workbook,1个Workbook包含多个Worksheet。

public class ExcelOperator

    {

        #region Fields

 

        private ApplicationClass excOperator;

        private Workbook wb;

        private Worksheet[] wss;

 

        private object oMissing = System.Reflection.Missing.Value;

 

        #endregion Fields

 

        public ExcelOperator()

        {

            this.excOperator = new ApplicationClass();

            this.excOperator.SheetsInNewWorkbook = 1;

            wb = this.excOperator.Workbooks.Add(oMissing);

            this.CreateSheets(5);

     }

              ……………………………

 

        private void CreateWorkSheets(int iNumOfWorkSheets)

        {

            this.wss = new Worksheet[iNumOfWorkSheets];

            this.wss[0] = (Worksheet)this.wb.Worksheets[1];

            for (int i = 1; i < iNumOfWorkSheets; i++)

            {

                wss[i] = (Worksheet)this.wb.Worksheets.Add(oMissing, this.wb.Sheets[i], 1, oMissing);

            }

            this.excIssue.Visible = true;

     }

}

 

* this private object oMissing = System.Reflection.Missing.Value;

Excel的很多函数包含的部分或者全部参数可以省略,然而在C#中并没有按照其不同的参数个数进行函数重载,因此,即便可以省略的参数也必须找东西填补位置。System.Reflection.Missing.Value就是用来当作空值,占位子的东西。

 

* this.excOperator = new ApplicationClass();

新建一个Excel。

 

* this.excOperator.SheetsInNewWorkbook = 1;

新建一个Workbook时都会默认新建一定数量的Worksheet(一般情况下是3个)。这里将其设定为1(不允许设置为0,一个Workbook最少也要包含一个以上的Worksheet),注意:一定要在添加Workbook之前进行设定!

 

* this wb = this.excOperator.Workbooks.Add(oMissing);

新建一个Workbook。

 

* this.CreateSheets(5);

创建5个Worksheet。注意:创建的过程中实际上只添加了4个Worksheet——创建Workbook时已经默认添加了1个。具体过程参考private void CreateWorkSheets(int iNumOfWorkSheets)。

4. Excel的操作单元:Range

Range是Excel所有操作的基本对象,可以用以下方法获得Range。

* Range rgSelect = ws.get_Range(“A1”, “B2”);

Ws是一个Worksheet。”A1”和”A2”是需要的这篇区域中,左上角和右下角的两个单元格在Excel中的位置。

 

5. 我自己封装的一些Excel操作。

* // 合并单元格

    private void MergeAndCenter(Worksheet ws, string cell1, string cell2)

    {

        Range rgSelect = ws.get_Range(cell1, cell2);

        rgSelect.MergeCells = false;

        rgSelect.Merge(false);

}

 

* // 加边框、网格

    private void PrintBorders(Worksheet ws, string cell1, string cell2)

    {

        Range rgSelect = ws.get_Range(cell1, cell2);

        rgSelect.Borders[XlBordersIndex.xlDiagonalDown].LineStyle = XlLineStyle.xlLineStyleNone;

        rgSelect.Borders[XlBordersIndex.xlDiagonalUp].LineStyle = XlLineStyle.xlLineStyleNone;

        rgSelect.Borders[XlBordersIndex.xlEdgeLeft].LineStyle = XlLineStyle.xlContinuous;

        rgSelect.Borders[XlBordersIndex.xlEdgeRight].LineStyle = XlLineStyle.xlContinuous;

        rgSelect.Borders[XlBordersIndex.xlEdgeBottom].LineStyle = XlLineStyle.xlContinuous;

        rgSelect.Borders[XlBordersIndex.xlEdgeTop].LineStyle = XlLineStyle.xlContinuous;

        rgSelect.Borders[XlBordersIndex.xlInsideHorizontal].LineStyle = XlLineStyle.xlContinuous;

        rgSelect.Borders[XlBordersIndex.xlInsideVertical].LineStyle = XlLineStyle.xlContinuous;

    }

 

* // 填充背景色

    private void FillColor(Worksheet ws, string cell1, string cell2)

    {

        Range rgSelect = ws.get_Range(cell1, cell2);

        rgSelect.Interior.Pattern = XlPattern.xlPatternSolid;

        rgSelect.Interior.Color = 10092543;

    }

 

* // 写入数据

    private void FillWord(Worksheet ws, string cell, string word)

    {

        ws.get_Range(cell, cell).FormulaR1C1 = word;

    }

 

* // 对齐

    private void AdjustAlignment(Worksheet ws, string cell1, string cell2, XlHAlign algHorzontal, XlVAlign algVertical)

    {

        Range rgSelect = ws.get_Range(cell1, cell2);

        rgSelect.HorizontalAlignment = algHorzontal;

        rgSelect.VerticalAlignment = algVertical;

    }

 

* // 设定单元格范畴

    private void AdjustCellCategory(Worksheet ws, string cell1, string cell2, string strCategory)

    {

        Range rgSelect = ws.get_Range(cell1, cell2);

        rgSelect.NumberFormat = strCategory;

    }

 

* // 拷贝

    private void CopyTable(Worksheet ws, string cell1, string cell2)

    {

        Range rgSelect = ws.get_Range(cell1, cell2);

        rgSelect.Copy(this.oMissing);

    }

 

* // 粘贴

    private void PasteTable(Worksheet ws, string cell)

    {

        Range rgSelect = ws.get_Range(cell, this.oMissing);

        rgSelect.PasteSpecial(XlPasteType.xlPasteAll, XlPasteSpecialOperation.xlPasteSpecialOperationNone, this.oMissing, this.oMissing);

    }

 

* // 设定列宽

    private void SetColumnWidth(Worksheet ws, String Columns, double width)

    {

        Range cols = (Range)ws.Columns[Columns, this.oMissing];

        cols.ColumnWidth = width;

    }

实战教程:用YOLOv11+PyQt5打造工地安全帽检测系统(附完整数据集) 本文提供了一份完整的实战指南,详细介绍了如何利用YOLOv11目标检测模型与PyQt5界面库,从零开始构建一个智能工地安全帽检测桌面应用。内容涵盖高质量数据集的准备与标注、YOLOv11模型训练与调优,以及如何使用PyQt5开发流畅、专业的图形用户界面,最终实现一个可实际部署的AI安全监控系统。 阅读详情

相关推荐

计数译码驱动显示电路实验报告_京东方G0A电路、阵列基板、显示 装置及驱动方法广州威彩...

图1、实施例二所述的选择子单元的结构示意图图2、实施例四所述的GOA电路结构示意图图3、实施例七所述的阵列基板的局部结构示意图图4、实施例所述的极性反转驱动方法的第一场的各信号时序图图5、实施例所述的极性反转驱动方法的第二场的各信号时序图图6、实施例所述的极性反转驱动方法的第三场的各信号时序图图7、实施例所述的极性反转驱动方法的第四场的各信号时序图图8、为图4所示时序下,实施例八所述显示...

weixin_35696112的博客 925

C#操作Excel知识点

近期在使用C#操作excel,主要是读取excel模板,复制其中的模板sheet页,生成多个sheet页填充相应数据后另存到excel文件,所用到的知识点如下。   一、添加引用和命名空间   添加Microsoft.Office.Interop.Excel引用,它的默认路径是C:\Program Files\Microsoft Visual Studio 9.0\Visual Studio

Ai大模型,odoo,idempiere,metasfresh,低代码,ecshop数据采集发布接口,zencart,lightinthebox,shopex 数据采集接口 2157

CH32V IAP跳转避坑指南:为什么你的APP跳不过去?从mstatus寄存器配置到函数属性详解

本文深入解析CH32V系列MCU的IAP跳转机制,从mstatus寄存器配置到函数属性优化,详细讲解如何避免APP跳转失败。文章涵盖地址准备、模式切换、跳转执行等关键步骤,并提供调试技巧与实战案例,帮助开发者快速解决CH32V IAP跳转中的常见问题。

weixin_30955617的博客 139

C# 操作excel出现"命名空间“Microsoft”中不存在类型或命名空间名称“Office ”(是缺少程序集引用吗?)"错误

如题,当导入using Microsoft.Office.Interop.Excel时会出现"命名空间“Microsoft”中不存在类型或命名空间名称“Office ”(是缺少程序集引用吗?)"错误。 解决办法:单击菜单栏的“项目”-&gt;选择“添加引用”-&gt;COM-&gt;查找并勾选“Microsoft Excel 14.0 Object Library”-&gt;确定 可能出现的不...

qq_24249729的博客 1648

HWSD中国土壤数据库

T_PH_H2O: Real (酸碱度) T_CEC_CLAY: Real (粘性层土壤的阳离子交换能力);T_CEC_SOIL: Real (土壤的阳离子交换能力) T_BS: Real (基本饱和度);T_CACO3: Real (碳酸盐或石灰含量) T_CASO4: Real (硫酸盐含量);ADD_PROP: Real (土壤单元中与农业用途有关的特定土壤类型);T_USDA_TEX: Real (USDA土壤质地分类);T_REF_BULK: Real (土壤容重);

地球资源数据云的官方博客 4651

Silvaco TCAD仿真4——DeckBuild实战:从示例库到自定义设计

本文详细介绍了Silvaco TCAD仿真工具DeckBuild的实战应用,从示例库的使用到自定义设计的全过程。通过具体案例和参数修改技巧,帮助用户快速掌握TCAD仿真技术,提升半导体器件设计的效率和精度。特别适合需要从基础入门到进阶操作的工程师和研究人员。

weixin_29284657的博客 434

C#命名空间中不存在Office.Interop.Excel的解决方法

第一步,打开菜单中的项目,添加引用 第二步按下图勾选 microsoft office 16.0 Object Library 第三步按下图勾选 Microsoft Excel 16.0 Object Library END

WEPHEN_LIU的博客 2959

Mac mini M2 部署 OpenClaw:最稳 7×24 本地 AI 服务器

Mac mini M2 凭借其强大的 M2 芯片、低功耗和静音特性,成为部署 OpenClaw AI 服务器的理想平台。本文详细介绍了从系统配置到 OpenClaw 部署的全过程,包括 Docker 环境搭建、docker-compose 编排、性能优化方案以及开机自启设置。通过统一内存架构和高效 SSD,M2 版 Mac mini 在 AI 推理速度上显著优于前代产品,同时保持极低的功耗(仅 8W),适合 7×24 小时稳定运行。部署方案充分利用了容器化技术,确保了服务的可靠性和可维护性。

一键难忘的博客 2954

C#对Excel的操作

第一步:添加引用-->Com-->Microsoft Excel 11.0 Object Library 第二步:在文件最上方加:using Excel = Microsoft.Office.Interop.Excel;第三步:编辑下面两个方法/// /// 执行完Excel操作方法后执行资源回收操作,必须与Excel操作的方法分开/// private void ExcelWrite

濃(龍)情派對的专栏 2656

单片机应用案例:ESP32 搭配 BH1750 光强传感器和 Web 服务器

在该应用案例中,我们将使用 ESP32 开发板作为主控制器,BH1750 光强传感器用于采集环境光强度数据,并通过 Web 服务器展示采集到的数据。步骤一:购买材料步骤二:连接硬件步骤三:编写代码我们将使用 Arduino IDE 编写代码,以下是主要代码:// WiFi 设置const char* ssid = “你的 WiFi 名称”;const char* password = “密码”;// Web 服务器实例// BH1750 实例// 获取当前光强度数据。

RlDart的博客 813

ESD防护设计宝典(十九):元器件选型宝典——共模电感

然而,这位“大师”的脾气也颇为古怪,若设计者不解其性、用之不当,它非但不能抑制噪声,反而会引入信号完整性恶化、电源压降等新问题,甚至让您的系统EMC性能“雪上加霜”,导致项目在测试阶段功亏一篑。本文将带您深入共模电感的内在世界,从本质解析到参数详解,从设计陷阱到实战选型,全方位领悟其平衡艺术,掌握其应用核心,规避那些足以让项目翻车的致命陷阱。:这是存在于电路板内部的“家贼”。共模电感实质上是一个四端器件,它通过磁场的“加法”与“减法”运算,巧妙地实现了对共模噪声的抑制,同时为差模信号大开绿灯。

m0_56451176的博客 421

C# WinForm 使用Microsoft.Office.Interop.Excel对Excel文件表格的单元格值进行修改操作

类名称随意,然后清空新建类得到全部内容,把下面封装号的源代码全部粘贴进去,项目名称改成你自己原本的项目名称。搜索Excel,在搜索结果中点击Microsoft.Office.Interop.Excel。然后点击安装即可,搜不到的话,在右侧程序包源位置改成全部再次搜索。对准项目,点击右键,在弹出菜单选择添加,选择类。没有用到新建,改变格式等操作,暂时不写代码了。点击管理NUGet程序包。

weixin_44658419的博客 1986

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

VSTO(C#)Excel开发2:Excel对象模型和基本操作

VSTO(C#)Excel开发2:Excel对象模型和基本操作

编程之道在明明德在亲民在止于至善 2216

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C#对excel文件的基本操作

以下是一些对excel的一些基本操作 1:工程对excel类库的导入,如:c:\program files\Microsoft office\offiece11\excel.exe 2:命名控件的引入: using Microsoft.office.Interop.Excel; 3:如果是对一个已经存在的excel文件进行操作则: Application app=new Appli

岁月沉淀,积累财富 669

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

c# 读取写入excel单元格(包括对excel的一些基本操作)以下是一些对excel的一些基本操作...

c# 读取写入excel单元格(包括对excel的一些基本操作)以下是一些对excel的一些基本操作1:工程对excel类库的导入,如:c:\program files\Microsoft office\offiece11\excel.exe2:命名控件的引入: using Microsoft.office.Interop.Excel;3:如果是对一个已经存在的excel文件进行操作则:App...

weixin_30338481的博客 154

C#下对Excel的基本操作

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.Office.Interop.Excel; namespace ConsoleTest1 { class Program { static...

weixin_30621919的博客 71

c# Excel的基本操作

本文的主要内容:c#实现对Excel的Open、Save、合并单元格、单元格赋值的操作。 ExcelHelper代码: 1 class ExcelHelper 2 { 3 publicstaticvoid SaveData() 4 { 5 string filePath = Environment.CurrentDirectory +"\...

avi77910的博客 152

ahk写入excel单元格_c# 读取写入excel单元格(包括对excel的一些基本操作)

以下是一些对excel的一些基本操作1:工程对excel类库的导入,如:c:\program files\Microsoft office\offiece11\excel.exe2:命名控件的引入: using Microsoft.office.Interop.Excel;3:如果是对一个已经存在的excel文件进行操作则:Application app=new Application();Wor...

weixin_39726873的博客 174

Visual C# 操作 Excel 文件(一) 基本操作

在 Visual C# 中要操作 Excel 文件必须先调用 Excel 的 COM 组件,调用的方式就是在项目中添加引用,如下图: 引用後,会增加两项: 将 Excel 的 COM 添加入引用後,就可以编写程序代码来操作 Excel 了。先来看一下底下的一段代码: Excel.Application aExcelApp = new Excel.Applicati

业精于勤,荒于嬉 935

C# 读取写入excel单元格(包括对excel的一些基本操作)

以下是一些对excel的一些基本操作: 命名控件的引入: using Microsoft.office.Interop.Excel; 列表内容:如果是对一个已经存在的excel文件进行操作则: Application app=new Application(); Workbook wbook=app.Workbooks.Open("c:\\temp.xls",Type.Missing,Type...

Virtualman的专栏 265

C#对excel的基本操作方法

C# 对excel最基本的操作

不忘初心 方得始终 2848

在vs2008环境C#对Excel基本操作

v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);} Normal 0 0 2

HelloLWei的专栏 963

C#对excel一些基本操作

代码一般可以直接copy使用,也许会在工程里面未引用,未引用的要自己添加引用(office com接口引用方式:右键工程→addreference→com页→Microsoft Excel xx.0 Object Library)。以下代码仅仅打开,给某个单元格设置颜色,然后关闭。 using System; using System.Collections.Generic; using S

rekrad的专栏 718

excel表格的基本操作——保存(C#)

using Excel = Microsoft.Office.Interop.Excel; private void toExcel2(string saveFileName, string[,] dt)         {             bool fileSaved = false; //是否保存标志位             object objOpt = System.Refle...

Manson_Wang的博客 791

c# 读取写入excel单元格(包括对excel的一些基本操作)

以下是一些对excel的一些基本操作 1:工程对excel类库的导入,如:c:\program files\Microsoft office\offiece11\excel.exe 2:命名控件的引入: using Microsoft.office.Interop.Excel; 3:如果是对一个已经存在的excel文件进行操作则: Application app=new Appli

713
上一篇: [转][ASP.NET]System.UnauthorizedAccessException: 拒绝访问。
下一篇: [转]HTTP MIME编码
fallriver
博客等级 码龄19年 3粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值