C#操作Excel可以分为客户端和插件版本,区别就是是否需要Excel环境,功能实现一样

一、通用操作与处理(有点乱有时间再整理)

1:工程对excel类库的导入,如:

c:\program files\Microsoft office\offiece11\excel.exe

2:命名控件的引入:

using Microsoft.office.Interop.Excel;

3:如果是对一个已经存在的excel文件进行操作则:

Application app=new Application();

Workbook wbook=app.Workbooks.Open("c:\\temp.xls",Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);

//C#6.0后面的参数可以省略

Worksheet worksheet=(Worksheet)wbook.Worksheets[1];

4:新建一个excel文件:

Application app=new Application();

Workbook wbook=app.Workbooks.Add(Type.missing);

Worksheet worksheet=(Worksheet)wbook.Worksheets[1];

5:设置某个单元格里的内容:

worksheet.Cells[1,2]="列内容";

6读取某个单元格里的内容

string temp=((Range)worksheet.Cells[1,2]).Text;

7设置某个单元格里的格式

Microsoft.Office.Interop.Excel.Range rtemp=worksheet.get_Range("A1","A1");

rtemp.Font.Name="宋体";

rtemp.Font.FontStyle="加粗";

rtemp.Font.Size=5;

//设置颜色
 rtemp.Interior.Color = ColorTranslator.ToOle(Color.DodgerBlue);

8 保存新建的内容:

worksheet.SaveAs("c:\\temp.xls",Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,
Type.Missing);

二、其他备注

一、    给表格数据赋特殊值:

Cells[18, 8] =
"=SUM(D5:D17)";

二、进行一些表格合并操作:

下次进行补充哈

三、获取有范围的行和列

int
k1=worksheet.UsedRange.Rows.Count;

获取列只需要将Rows修改为Columns

四、  判断有没有公式:

sheet.Cells[i, j].HasFormula

五、  遍历Excel:(最好加=号,下面会遗漏边界)

Workbook book = app.Workbooks.Open(file.FullName);
 foreach (Worksheet sheet in book.Worksheets)
     {
       for (int i = 1; i < sheet.UsedRange.Rows.Count; i++)
          {
          for (int j = 1; j < sheet.UsedRange.Columns.Count; j++)

      //此处进行函数操作

    }

  }

本人承接一些程序开发项目(能力范围内,例如Office开发和C#网络爬虫,数据库读写等)欢迎联系洽谈,QQ207708848,请注明来意。

更多内容还可以参考官方API

C#操作Excel的技巧与方法 设置单元格等的更多相关文章

  1. DataGridView使用技巧二:设置单元格只读

    一.修改ReadOnly属性 1.设置整个DataGridView只读: DataGridView.ReadOnly=true; 此时用户的新增行和删除行操作也被屏蔽了. 2.设置DataGridVi ...

  2. NPOI操作EXCEL(五)——含合并单元格复杂表头的EXCEL解析

    我们在第三篇文章中谈到了那些非常反人类的excel模板,博主为了养家糊口,也玩命做出了相应的解析方法... 我们先来看看第一类复杂表头: ...... 博主称这类excel模板为略复杂表头模板(蓝色部 ...

  3. DataGridView使用技巧八:设置单元格的ToolTip

    ToolTip属性用来设置当鼠标移动到单元格上面时的提示内容. DataGridView.ShowCellToolTips=True的情况下,单元格的ToolTip可以表示出来.对于单元格窄小,无法完 ...

  4. 用NPOI创建Excel、合并单元格、设置单元格样式、边框的方法

    本篇文章小编为大家介绍,用NPOI创建Excel.合并单元格.设置单元格样式.边框的方法.需要的朋友参考下 今天在做项目中,遇到使用代码生成具有一定样式的Excel,找了很多资料,最后终于解决了,Ex ...

  5. 在Asp.Net MVC中使用NPOI插件实现对Excel的操作(导入,导出,合并单元格,设置样式,输入公式)

    前言 NPOI 是 POI 项目的.NET版本,它不使用 Office COM 组件,不需要安装 Microsoft Office,目前支持 Office 2003 和 2007 版本. 1.整个Ex ...

  6. java操作Excel的poi 设置单元格的对其方式

    设置单元格的对其方式 package com.java.poi; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.po ...

  7. C#导出Excel按照指定格式设置单元格属性值

    最近项目中一直在写XML.Table.Excel之间的转化.之前一直都是不考虑格式的导出,今天给出一个格式,让按照格式导出,还真把我这新手为难了一翻,网上给出的资料基本一样.为了一个单元格文字变色纠结 ...

  8. 导出EXCEL设置单元格格式

    怎么设置导出的EXCEL文件的列格式 如何设置导出的EXCEL文件的列格式在office的EXCEL中我们可以在一个EXCEL文件中,选中一列再点击鼠标右键,选择设置单元格格式,可以将这一列设为文本格 ...

  9. Excel导出时设置单元格的格式为文本

    问题: 用excel导出数据时,如何设置单元格格式的数字分类为"文本",默认是"常规"? 比如:导出编码0235A089,在Excel查看默认显示的是没有前面的 ...

随机推荐

  1. Java反射机制实例解析

    1.获取想操作的访问类的java.lang.Class类的对象     2.调用Class对象的方法返回访问类的方法和属性信息     3.使用反射API来操作      每个类被加载后,系统会为该类 ...

  2. 和redis谈一场恋爱(第二天约会了解彼此)

    最近使用了Memcache,带来的便利已经让我欣喜若狂.开启了另一种又快又好的方式存储和读取数据.中间经过了一番折腾,学习了mysql,终于有学到了redis. Redis的全名是Remote Dic ...

  3. Tomcat_Java Web_内存溢出总结

    在抛出内存溢出错误的时候,一般都会提示内存泄露的种类,一般也都是按照区域进行划分: 1. 堆(heap)内存泄漏java.lang.OutOfMemoryError: Javaheap space:大 ...

  4. NSNotificationCenter(通知)与Key-Value Coding (KVC)与Key-Value Observing (KVO)

    NSNotificationCenter //下面是不同类中需要实现的代码 1.[[NSNotificationCenter defaultCenter] addObserver:self selec ...

  5. tp中附件上传文件,表单提交

    public function tianjia(){ $goods=D('Goods'); if(!empty($_POST)){ if($_FILES['f_goods_image']['error ...

  6. 10月23日上午PHP数组

    正则表达式 1.替换 $s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo ...

  7. FBX Transformation

    2010: http://download.autodesk.com/us/fbx/20102/FBX_SDK_Help/index.html?url=WS1a9193826455f5ff3913a1 ...

  8. 【原】Gradle调用shell脚本和python脚本并传参

    最近由于项目自动化构建的需要,研究了下gradle调用脚本并传参的用法,在此作个总结. Pre build.gradle中定义了$jenkinsJobName $jenkinsBuild两个Jenki ...

  9. SVN合并操作实践

    大家都知道,SVN是很多公司管理代码的版本控制工具,当分支越来越多,版本迭代越来越频繁的时候,经常会出现代码冲突的头疼事儿,这里讲一下鲨鱼遇到过关于代码版本控制的一些事,最后做个小例子,看图描述. 为 ...

  10. Why is applicationhost.config still being added to source control even thought it's in gitignore

      Why is applicationhost.config still being added to source control even thought it's in gitignore g ...