C#操作excel文件

Posted fate_WPF

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#操作excel文件相关的知识,希望对你有一定的参考价值。

在工控行业中,有很多地方需要将数据生成报表,如PDF,excel格式等。

其中PDF格式比较简单,今天介绍下如何操作excel。

string filePath = new DirectoryInfo("./").FullName + "TWTS_Config\\\\扳手借出数据表.xls"; //模板所在位置

Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application(); //创建一个excel应用
Workbooks wbks = app.Workbooks;    //获取当前的工作薄
_Workbook _wbk = wbks.Add(filePath); //打开模板文件

Sheets shs = _wbk.Sheets; //工作页sheet
_Worksheet _wsh = (_Worksheet)shs.get_Item(1); //1是要取得的sheet的index

 

excel模板如下表,单元格赋值采用下面方式:

 _wsh.Cells[xlsRows, 1] = dataList.Rows[r].Cells[2].Value.ToString();

然后递增行索引来添加更多数据。

 

 

#region 防止打开excel使老提示文件格式和扩展名不匹配 --目前用户可以在对话框中选择格式此处暂时屏蔽
String version = app.Version;//获取你使用的excel 的版本号

int FormatNum;//保存excel文件的格式

if (Convert.ToDouble(version) < 12)//You use Excel 97-2003
{
FormatNum = -4143;
}
else//you use excel 2007 or later
{
FormatNum = 56;
}

#endregion

//其他操作

/* 屏蔽掉系统跳出的Alert */
app.AlertBeforeOverwriting = false;
#endregion

/* 防止低版本保存时弹出兼容性检查 */
_wbk.CheckCompatibility = false;
/* 保存到指定目录 */
string savePath = nFilePath;
_wbk.SaveAs(savePath, FormatNum); //同上方 --目前用户可以在对话框中选择格式此处暂时屏蔽
//_wbk.SaveAs(savePath);

_wbk.Close();//关闭文档
wbks.Close();//关闭工作簿
app.Quit();//关闭EXCEL应用程序

/* 释放EXCEL应用程序的进程 */
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);

以上是关于C#操作excel文件的主要内容,如果未能解决你的问题,请参考以下文章

使用与 C# 的互操作,Excel 保存更改的原始文件。如何否定这一点?

在C#中使用另外一个Spire.XLS来操作Excel数据

C#不要再使用Npoi啦,使用MiniExcel操作Excel文件更快更高效!

C#中利用NPOI包操作Excel文件

C#中利用NPOI包操作Excel文件

C#中利用NPOI包操作Excel文件