Interop.Excel версия 12
Office Excel 2007
Я работал над кодом, чтобы открыть файл .xslm и затем преобразовать (сохранить) его как .xslx.Между тем мне тоже нужно немного обработать, но это не имеет значения.Ниже приведен код:
namespace Exceltest
{
class Program
{
static void Main(string[] args)
{
Application oXL = null;
oXL = new Application();
oXL.Visible = false;
oXL.DisplayAlerts = false;
try
{
Workbook book = oXL.Workbooks.Open("E:\\CorrectPF1.xlsm", 0, true, 5, "access123", "", true,
XlPlatform.xlWindows, "\t", false, false, 0, true, null, XlCorruptLoad.xlNormalLoad);
Worksheet worksheet = (Worksheet)book.Sheets["Resource allocation"];
worksheet.Activate();
oXL.Visible = false;
oXL.DisplayAlerts = false;
book.SaveAs("E:\\PF1.xlsx", XlFileFormat.xlOpenXMLWorkbook,
"", Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlNoChange,
XlSaveConflictResolution.xlLocalSessionChanges, Type.Missing, Type.Missing,
Type.Missing, false);
}
catch (Exception ex)
{
//Handling exception here
}
}
}
}
Этот код выполняется без проблем (без каких-либо исключений), но файл с расширением .xslx не сохраняется.Я обнаружил, что это работает для некоторого набора файлов, но не для других.Скажем, он не работает для файла с именем PF1.xslm.Я могу открыть PF1.xslm в Office Excel и сохранить его как .xslx.То же самое можно предположить и для программной работы.