C# 使用自带Microsoft.Office.Interop.Excel简单操作Excel文件

项目添加应用 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文件的更多相关文章
- 关于.net Microsoft.Office.Interop.Word组建操作word的问题,如何控制word表格单元格内部段落的样式。
控制word表格单元格内部文字样式.我要将数据导出到word当中,对于word表格一个单元格中的一段文字,要设置不同的样式,比如第一行文字作为标题要居中,加粗,第二行为正常的正文. 代码如下 publ ...
- ruby中excel简单操作以及文件读取操作方法
# -*-coding:utf-8 -*-#author:kanlijunrequire 'win32ole'require 'fileutils'class ResultAnalyse @@i=0 ...
- window2008 64位系统无法调用Microsoft.Office.Interop组件进行文件另存的解决办法
生成execl时遇到的问题: 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005 ...
- 利用Microsoft.Office.Interop.Excel 将web页面转成PDF
网上有很多将Web页面转成PDF的方法,还有许多收费的第三方插件.其实利用Office 自带的将EXCEL发布成PDF的功能就可以实现,如果你的需求没有多复杂,可以采用笔者的方法. 首先将web页面h ...
- Microsoft.Office.Interop.Excel的用法以及利用Microsoft.Office.Interop.Excel将web页面转成PDF
1.常见用法 using Microsoft.Office.Interop.Excel; 1)新建一个Excel ApplicationClass ExcelApp = New A ...
- 引用Microsoft.Office.Interop.Excel出现的问题
引用Microsoft.Office.Interop.Excel出现的问题 转自:http://www.hccar.com/Content,2008,6,11,75.aspx,作者:方继祥 操作背 ...
- Microsoft.Office.Interop.Excel操作Excel文件时出现的问题及解决方案
问题描述: Microsoft.Office.Interop.Excel.Worksheet 打不开文件 Microsoft Office Excel 不能访问文件"a.xls". ...
- Microsoft.Office.Interop.Excel 程序集引用 ,Microsoft.Office.Interop.Excel.ApplicationClass 无法嵌入互操作类型
using Microsoft.Office.Interop.Excel 添加程序集引用 方法:在引用--程序集--扩展中,添加引用Microsoft.Office.Interop.Excel,此 ...
- Microsoft.Office.Interop.Excel, Version=12.0.0.0版本高于引用的程序集(已解决)
Microsoft.Office.Interop.Excel, Version=12.0.0.0版本高于引用的程序集(已解决) 论坛里的帮助:http://bbs.csdn.net/topics/39 ...
随机推荐
- Flex利用JavaScript执行cmd命令
Flex: //注册js事件 protected function init():void { ExternalInterfa ...
- python3 之 内置函数Zip
python3 内置函数zip 一.简介: 该函数用于将多个可迭代对象作为参数,依次将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象.二.实例1: name = ['张三','李四', ...
- 【集训Day2 哈希表】【NHOI2015】【Luogu P2421】差
LuoguP2421 原题来自NHOI2015 [解题思路] 本题的解题方法有三种,一种为枚举减数,二分查找被减数.第二种为利用数据单调性用尺取法进行查找,第三种为运用哈希表以快速查找数据. [解题反 ...
- vue e.path 移动端兼容
作用 e.path 用来获取点击元素及以上所有父元素的一个数组 问题 当在移动端会有获取不到e.path的问题 不兼容 解决 let path = event.path || (event.compo ...
- flask实现验证码并验证
效果图: 点击图片.刷新页面.输入错误点击登录时都刷新验证码 实现步骤: 第一步:先定义获取验证码的接口 verificationCode.py #验证码 @api.route('/imgCode') ...
- Java生鲜电商平台-生鲜售后系统的退款架构设计与代码分享
Java生鲜电商平台-生鲜售后系统的退款架构设计与代码分享 说明:任何一个电商行业都涉及到退货与退款的问题,但是生鲜电商行业还设有一个显著的特点,那就是换货.在人性面前,各种各样的退货,退款,换货的售 ...
- 为什么 main 方法是 public static void ?
Main方法是我们学习Java编程语言时知道的第一个方法,你是否曾经想过为什么main方法是public.static.void的.当然,很多人首先学的是C和C++,但是在Java中main方法与前者 ...
- 将String类型转换为int整数类型
示例如下: public class demo { public static void main(String[] args) { String s="10"; 6 7 //St ...
- R 语言学习笔记(3)—— 基础绘图
R 中图形的概念 在 R 中图,就像 photoshop 中的图层一样,每一个元素都是层层向上延展构建的,最终形成了我们视觉上所形成的平面图形.这些元素包含了常见的图形的标题(title).坐标轴(a ...
- 实现springboot对接腾讯云短信
1,导入pom依赖 <dependency> <groupId>com.github.qcloudsms</groupId> <artifactId>q ...