项目添加应用 Microsoft.Office.Interop.Excel.dll 文件

引用命名空间:

using Excel = Microsoft.Office.Interop.Excel;

简单操作Excel文件:

        /// <summary>
/// 简单操作Excel文件
/// </summary>
/// <param name="excelPath">excel 文件路径</param>
/// <returns></returns>
public void ExcelOp(string excelPath)
{
string ExcelFilePath = excelPath.Trim();
//set columns
Dictionary<string, string> dic = new Dictionary<string, string>();
dic.Add("订单号", "A");//
dic.Add("数量", "B"); Excel.Application excel = new Excel.Application();
Excel.Workbook wb = null;
excel.Visible = false;//设置调用引用的 Excel文件是否可见
excel.DisplayAlerts = false;
wb = excel.Workbooks.Open(ExcelFilePath);
Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets[]; //索引从1开始 //(Excel.Worksheet)wb.Worksheets["SheetName"];
int rowCount = ;//有效行,索引从1开始
try
{
rowCount = ws.UsedRange.Rows.Count;//赋值有效行 string ordernum = string.Empty;
string count = string.Empty;
//循环行
for (int i = ; i <= rowCount; i++)//
{
if (ws.Rows[i] != null)
{
ordernum = ws.Cells[i, dic["订单号"]].Value2.ToString();//取单元格值
count = ws.Cells[i, dic["数量"]].Value2.ToString();//ws.Cells[i, 2].Value2.ToString();
}
}
//循环列
for (int i = ; i <= ws.UsedRange.Columns.Count; i++)
{
//ws.Columns[i]
}
}
catch (Exception ex) { XtraMessageBox.Show(ex.Message, "error", MessageBoxButtons.OK, MessageBoxIcon.Error); }
finally
{
ClosePro(excelPath, excel, wb);
}
}

关闭Excel进程:

        /// <summary>
/// 关闭Excel进程
/// </summary>
/// <param name="excelPath"></param>
/// <param name="excel"></param>
/// <param name="wb"></param>
public void ClosePro(string excelPath, Excel.Application excel, Excel.Workbook wb)
{
Process[] localByNameApp = Process.GetProcessesByName(excelPath);//获取程序名的所有进程
if (localByNameApp.Length > )
{
foreach (var app in localByNameApp)
{
if (!app.HasExited)
{
#region
////设置禁止弹出保存和覆盖的询问提示框
//excel.DisplayAlerts = false;
//excel.AlertBeforeOverwriting = false; ////保存工作簿
//excel.Application.Workbooks.Add(true).Save();
////保存excel文件
//excel.Save("D:" + "\\test.xls");
////确保Excel进程关闭
//excel.Quit();
//excel = null;
#endregion
app.Kill();//关闭进程
}
}
}
if (wb != null)
wb.Close(true, Type.Missing, Type.Missing);
excel.Quit();
// 安全回收进程
System.GC.GetGeneration(excel);
}

C# 使用自带Microsoft.Office.Interop.Excel简单操作Excel文件的更多相关文章

  1. 关于.net Microsoft.Office.Interop.Word组建操作word的问题,如何控制word表格单元格内部段落的样式。

    控制word表格单元格内部文字样式.我要将数据导出到word当中,对于word表格一个单元格中的一段文字,要设置不同的样式,比如第一行文字作为标题要居中,加粗,第二行为正常的正文. 代码如下 publ ...

  2. ruby中excel简单操作以及文件读取操作方法

    # -*-coding:utf-8 -*-#author:kanlijunrequire 'win32ole'require 'fileutils'class ResultAnalyse @@i=0 ...

  3. window2008 64位系统无法调用Microsoft.Office.Interop组件进行文件另存的解决办法

    生成execl时遇到的问题: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005 ...

  4. 利用Microsoft.Office.Interop.Excel 将web页面转成PDF

    网上有很多将Web页面转成PDF的方法,还有许多收费的第三方插件.其实利用Office 自带的将EXCEL发布成PDF的功能就可以实现,如果你的需求没有多复杂,可以采用笔者的方法. 首先将web页面h ...

  5. Microsoft.Office.Interop.Excel的用法以及利用Microsoft.Office.Interop.Excel将web页面转成PDF

    1.常见用法           using Microsoft.Office.Interop.Excel; 1)新建一个Excel ApplicationClass ExcelApp = New A ...

  6. 引用Microsoft.Office.Interop.Excel出现的问题

    引用Microsoft.Office.Interop.Excel出现的问题   转自:http://www.hccar.com/Content,2008,6,11,75.aspx,作者:方继祥 操作背 ...

  7. Microsoft.Office.Interop.Excel操作Excel文件时出现的问题及解决方案

    问题描述: Microsoft.Office.Interop.Excel.Worksheet 打不开文件 Microsoft Office Excel 不能访问文件"a.xls". ...

  8. Microsoft.Office.Interop.Excel 程序集引用 ,Microsoft.Office.Interop.Excel.ApplicationClass 无法嵌入互操作类型

    using Microsoft.Office.Interop.Excel   添加程序集引用 方法:在引用--程序集--扩展中,添加引用Microsoft.Office.Interop.Excel,此 ...

  9. Microsoft.Office.Interop.Excel, Version=12.0.0.0版本高于引用的程序集(已解决)

    Microsoft.Office.Interop.Excel, Version=12.0.0.0版本高于引用的程序集(已解决) 论坛里的帮助:http://bbs.csdn.net/topics/39 ...

随机推荐

  1. 关于element-ui级联菜单(城市三级联动菜单)和回显问题

    https://segmentfault.com/a/1190000020458087 这是我写的,可以去看看,希望对你们有帮助!!!

  2. C++学习第一天(打卡)

    C++和C最大的区别可能就是添加了面向对象的编程. using namespace std 是其中oop的一个特性. using namespace std 可以使程序使用std名称空间里面的定义. ...

  3. Stream系列(三) FlatMap方法使用

    将多维嵌套列表转换为单维列表 EmployeeTestCase.java package com.example.demo; import lombok.Data; import lombok.ToS ...

  4. ApplicationInsights入门到精通系列(一)

    在11月9号的上海.Net Conf开发者峰会上,我做了一个对Application Insights的Persentation,本来想着快速将其转化为一篇博客无赖最近忙成

  5. sqlserver查询(子查询,全连接,等值连接,自然连接,左右连,交集,并集,差集)

    --部门表 create table dept( deptno int primary key,--部门编号 dname ),--部门名 loc )--地址 ); --雇员表 create table ...

  6. python json序列化与反序列化操作

    python json序列化与反序列化操作 # dumps() dict-->str 序列化 # loads() str---dict 反序列化 result1 = json.dumps({'a ...

  7. Prometheus 安装

    目录 简介 安装部署 环境准备 安装 配置环境变量 配置 启动 简介 prometheus存储的是时序数据,即按相同时序(相同名称和标签),以时间维度存储连续的数据的集合. 时序(time serie ...

  8. k8s 上部署 Redis 三主三从 集群

    目录 介绍 为什么要使用Redis? 什么是Redis群集? 在Kubernetes中部署Redis集群 从 GitHub 上下载: 创建pv 创建statefulset 创建service 初始化 ...

  9. 【SpringSecurityOAuth2】源码分析@EnableOAuth2Sso在Spring Security OAuth2 SSO单点登录场景下的作用

    目录 一.从Spring Security OAuth2官方文档了解@EnableOAuth2Sso作用 二.源码分析@EnableOAuth2Sso作用 @EnableOAuth2Client OA ...

  10. 不给糖果就捣乱,用Python绘制有趣的万圣节南瓜怪【华为云分享】

    关于万圣节 万圣节又叫诸圣节,在每年的11月1日,是西方的传统节日:而万圣节前夜的10月31日是这个节日最热闹的时刻.在中文里,常常把万圣节前夜(Halloween)讹译为万圣节(All Saints ...