首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我试图打开Excel文件时出现异常。

问当我试图打开Excel文件时出现异常。
EN

Stack Overflow用户
提问于 2017-09-29 09:23:16
回答 1查看 548关注 0票数 1

当我试图打开一个excel文件来计算她的工作表号时,我会得到一个System.DllNotFoundException。所讨论的dll是ole32.dll。在网上,我读到这个dll是相对于windows的,但是我使用。我怎样才能解决这个问题?

这是代码:

代码语言:javascript
复制
using System;
using System.IO;
using Microsoft.Office.Interop.Excel;
using Excel = Microsoft.Office.Interop.Excel;

namespace Itec
{
    class MainClass
    {
        public static int countSheet(string file){

            int numSheet = 1;

            Application excelApp = new Application();
            Workbook workBook = excelApp.Workbooks.Open("d:/Book1.xls");

            numSheet = workBook.Sheets.Count;

            return numSheet;
        }

        public static void Main(string[] args)
        {
            string user, fileName, pathFile, ext;

            do
            {
                user = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

                Console.WriteLine("Inserire il nome del file (se è in una cartella scrivere nel seguente formato \"nomeCartella/nomeFile.pdf\"): ");
                fileName = Console.ReadLine();
                pathFile = "/Users/" + user + "/Desktop/" + fileName;
                ext      = Path.GetExtension(pathFile);

                if (String.Equals(ext, ".xlsx"))
                {
                    if (File.Exists(pathFile))
                    {
                        countSheet(pathFile);
                    }
                    else
                    {
                        Console.WriteLine("Il file inserito non esiste");
                        Console.WriteLine("Premere invio per riprovare");
                        Console.ReadKey();
                    }
                }
                else
                {
                    Console.WriteLine("Estensione non corretta");
                    Console.WriteLine("Premere invio per riprovare");
                    Console.ReadKey();
                }

            }
            while (!String.Equals(ext, ".xlsx") && !File.Exists(pathFile)); 
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-29 12:41:25

不幸的是,Microsoft.Office.Interop.Excel无法在Mac或Linux上工作,就像这 Github问题中所说的那样:

我们没有计划让在Mac或Linux上工作。如果Office团队生成关于如何执行此操作的文档,我们将很乐意进行查看。因此而关闭。

作为另一种选择,我将重新建议使用EPPlus。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46485774

复制
相关文章

相似问题

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