Я не очень хорошо знаком с классом OpenFileDialog
, но использую его для выбора файла и открытия файла в приложении winform C#. Это мой синтаксис, и когда он попадает в открытую строку, он имеет правильное имя файла, но он выдает ошибку отладки System.Runtime.InteropServices.COMException: The server threw an exception
RPC Info: Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT)
, и если память служит, это одно из самых общих сообщений, которое вы можете получить. Синтаксически это настройка правильно? Или как я могу открыть файл .xlsx для открытия?Ошибка открытия файла Excel 2007
OpenFileDialog fd = new OpenFileDialog();
fd.Title = "Select The File To Open";
fd.Filter = "Excel Files|*.xlsx";
fd.InitialDirectory = @"C:\";
if (fd.ShowDialog() == DialogResult.OK)
{
Excel.Application xlsApp = new Excel.Application();
try
{
Workbook wb = xlsApp.Workbooks.Open(fd.FileName);
MessageBox.Show("The file was opened");
}
catch (Exception grrr) { MessageBox.Show(grrr.ToString()); }
}
Я считаю, что 'COMException' обычно дает код ошибки HRESULT, который может помочь вам расшифровать то, что пошло не так. – Phylogenesis
@Phylogenesis см. Редактирование. – user2676140
Вы действительно хотите * взаимодействовать с Excel? Если вы просто пытаетесь импортировать данные из файла Excel, есть более эффективные способы сделать это. Используйте собственную библиотеку без внешних зависимостей, таких как Open XML SDK, EPPlus или NPOI (EPPlus - мой выбор). Более легкий вес, быстрее, не имеет зависимостей, и по крайней мере последние два из них легче работать. – mason