C# 在winform程序中使用excel表格

添加引用
using Microsoft.Office.Core;
using Microsoft.Office.Interop.Excel;

在引用中要添加 Microsoft.Office.Core 和Excel 但是在引用里添加的时候却没有发现这两个文件。

选择COM里面选择Microft Office 12.0 object Library和Microft Excel 12.0 object
Library分别点确定即可!同样如果要引用World选Microft World 12.0 object Library!

解决

生成excel后,出现如下错误

您尝试打开的文件**.xls的格式与文件扩展名指定的格式不一致。即格式与文件扩展名不一致。单击“是”,打开后的文件出现乱码问题。

原因:借助 microsoft.Office.Interop.Excel 来做,这种方法生成的Excel根本不是Excel,只不过扩展名是xls而已,所以打开的时候就会提示格式与文件扩展名不一致。

解决方法:两种方法解决:

  方法一:使用注册表

  单击开始-> 运行 -> 输入regedit -> 确定,打开注册表编辑器,找到注册表子项
  HKEY_CURRENT_USERSoftwareMicrosoftOffice12.0ExcelSecurity

  在右侧空白处点击鼠标右键,选择“新建 -> DWORD值(D)”,输入"ExtensionHardening"点击确定。用鼠标右键点击ExtensionHardening,然后单击“修改(M)”,在数值数据中填写"0"即可确定。关闭注册表编辑器,再次打开xls文件查看是否已经没有了格式与文件扩展名不一致的提示。(DWORD值(D)这里是32位的)

  方法二:使用现有版本保存。

  先用Excel2007或者2010打开xls的文件,将其另存为“EXCEL工作薄”。再用Excel2007打开xlsx的文件,将其另存为“Excel 97-2003 工作簿”。

原文地址:https://www.cnblogs.com/zwj1276952588/p/10502001.html