c# - 如何在 C# 中打开 Excel 文件?

标签 c# .net excel vsto

我正在尝试转换一些 VBA代码到 C#。我是 C# 的新手。目前我正在尝试从一个文件夹中打开一个 Excel 文件,如果它不存在则创建它。我正在尝试以下内容。我怎样才能让它发挥作用?

Excel.Application objexcel;
Excel.Workbook wbexcel;
bool wbexists;
Excel.Worksheet objsht;
Excel.Range objrange;

objexcel = new Excel.Application();
if (Directory("C:\\csharp\\error report1.xls") = "")
{
    wbexcel.NewSheet();
}

else
{
    wbexcel.Open("C:\\csharp\\error report1.xls");
    objsht = ("sheet1");
}
objsht.Activate();

最佳答案

您需要安装 Microsoft Visual Studio Tools for Office (VSTO)。

可以在 Visual Studio 安装程序的“工作负载”>“Web 和云”>“Office/SharePoint 开发”下选择 VSTO。

之后创建一个通用的 .NET 项目并通过“添加引用... > 程序集”对话框添加对 Microsoft.Office.Interop.Excel 的引用。

Application excel = new Application();
Workbook wb = excel.Workbooks.Open(path);

Missing.Value 是一个特殊的反射结构,用于替换不必要的参数


在较新的版本中,所需的程序集引用称为 Microsoft Excel 16.0 Object Library。如果您没有安装最新版本,您可能有 Microsoft Excel 15.0 Object Library 或更旧的版本,但要包含的过程相同。

enter image description here

关于c# - 如何在 C# 中打开 Excel 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/464902/

相关文章:

excel - 将 excel 中单元格的日期格式从 dd.mm.yyyy 更改为 yyy/mm/dd(excel 版本 2013)

excel - 如何在VB6中选择具有多个工作表的Excel范围

c# - .NET、.Contains() 或 .Count() 哪个更快?

c# - 在 UnhandledException 上显示消息对话框

.net - ServerGC 应用程序中的 GC 线程数非常高

c# - 为什么在 Plain TextBox 中显示多种字体大小?

.net - 将F#函数传递给IEnumerable.Where与IEnumerable.All

c# - MIDI 或 WAV 文件到一组频率和持续时间

c# - Azure 中 Blob 的 URL 及目录结构

excel - 将宏对话框留在原处