Пересохранить xls файл - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет! Есть xls файл, при открытии он выдает ошибку: "Формат файла отличается от формата, указанного в расширении имени файла", однако если нажать Да, и пересохранить файл в том же формате xls и затем открыть его, все открывается корректно. Можно ли автоматизировать данный процесс на C#, чтобы она на вход брала исходный файл и пересохраняла его?

Решение задачи: «Пересохранить xls файл»

textual
Листинг программы
string BookName = "D:\\путь к книге.xlsx";
object Application = null;
try
{
    Application = Activator.CreateInstance(Type.GetTypeFromProgID("Excel.Application"));    //запустить Excel
    Application.GetType().InvokeMember("Visible", BindingFlags.SetProperty, null, Application, new object[] { true });  //сделать его видимым
    object Workbooks = Application.GetType().InvokeMember("Workbooks", BindingFlags.GetProperty, null, Application, null); //получить коллекцию книг
    object Workbook = Workbooks.GetType().InvokeMember("Open", BindingFlags.InvokeMethod, null, Workbooks, new object[] { BookName }); //открыть нужную книгу
    Workbook.GetType().InvokeMember("Save", BindingFlags.InvokeMethod, null, Application, null); //пересохранить книгу
    Workbook.GetType().InvokeMember("Close", BindingFlags.InvokeMethod, null, Application, null); //закрыть книгу
}
catch
{
    //обработать исключения
}
//не забыть сделать Dispose для всех, кому это необходимо

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.556 из 5