C#操作Excel的技巧与方法 设置单元格等

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

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

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

c:program filesMicrosoft officeoffiece11excel.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

 

原文地址:https://www.cnblogs.com/hxh88/p/5875194.html