1
當我嘗試打開Excel文件來計算她的工作表編號時,我得到一個System.DllNotFoundException
。有問題的DLL是ole32.dll
。在線我讀到,這個DLL是相對的窗口,但我與Visual Studio Comunity的MacOS工作。我如何解決這個問題?當我嘗試打開Excel文件時發生異常
這是代碼:
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));
}
}
}
要解決此問題,請使用Windows而不是Mac OS X.或者,使用平臺不可知的Excel庫。 _Maybe_ [EPPlus](https://github.com/JanKallman/EPPlus)ist one。 –
首先使用'try {} catch(Excetpion){}'來避免應用程序中的錯誤。 –
@FelixD。我使用'try {} catch(Excetpion){}',但它並沒有解決問題,因爲它跳轉指令 – th3g3ntl3man