首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在C#中打开Excel文件?

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

Stack Overflow用户
提问于 2009-01-21 11:25:48
回答 11查看 358.4K关注 0票数 72

我正在试着转换一些VBA C#的代码。我是C#的新手。目前,我正在尝试打开文件夹中的Excel文件,如果该文件不存在,则创建它。我正在尝试下面这样的东西。我怎么才能让它工作呢?

代码语言:javascript
复制
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();
EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2009-01-21 15:07:07

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

可以在Visual Studio安装程序中的工作负载> Web & Cloud > Office/SharePoint开发下选择VSTO。

之后,创建一个通用的.NET项目并添加对Microsoft.Office.Interop.Excel通过'Add Reference... > Assemblies‘对话框。

代码语言:javascript
复制
Application excel = new Application();
Workbook wb = excel.Workbooks.Open(path);

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

在较新的版本中,所需的程序集引用称为Microsoft Excel 16.0 Object Library..。如果您没有安装最新版本,您可能已经安装了

Microsoft Excel 15.0 Object Library,或更早的版本,但包含的过程是相同的。

票数 93
EN

Stack Overflow用户

发布于 2011-10-19 05:49:31

代码语言:javascript
复制
FileInfo fi = new FileInfo("C:\\test\\report.xlsx");
if(fi.Exists)
{
    System.Diagnostics.Process.Start(@"C:\test\report.xlsx");
}
else
{
    //file doesn't exist
}
票数 54
EN

Stack Overflow用户

发布于 2014-01-29 01:45:05

代码语言:javascript
复制
private void btnChoose2_Click(object sender, EventArgs e)
{
  OpenFileDialog openfileDialog1 = new OpenFileDialog();
  if (openfileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  {
    this.btnChoose2.Text = openfileDialog1.FileName;
    String filename = DialogResult.ToString();

    var excelApp = new Excel.Application();
    excelApp.Visible = true;
    excelApp.Workbooks.Open(btnChoose2.Text);
  }
}
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/464902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档