Я пытаюсь создать CSV-файл из файла Excel с помощью MS Excel Interop в моем приложении C # / Winforms.
Получаю эту ошибку при использовании метода SaveAs в приведенном ниже коде.
'Файл не доступен. Попробуйте одно из следующего:
• Убедитесь, что указанная папка существует. • Убедитесь, что папка
содержит файл не только для чтения. • Убедитесь, что имя файла
не содержать ни одного из следующих символов: <>? []: | или же
* • Убедитесь, что имя файла / путь не содержит более 218
characters.'z
Я попытался установить для readonly значение false в методе Open (...) Workbook следующим образом:
Проблема с сохранением файла Excel после вставки данных , но все равно возникает та же ошибка.
В моем коде путь к файлу csv был: C: \
Если я изменю путь к файлу csv на C: \ SomeFolder или какой-нибудь общий путь UNC, я не получу эту ошибку.
Пожалуйста, сообщите. Могут ли быть проблемы с разрешениями на диске C?
Вот код:
xlApp = new Microsoft.Office.Interop.Excel.Application();
xlApp.DisplayAlerts = false;
xlApp.Visible = false;
wbkSrc = xlApp.Workbooks.Open(m_sSrcFil,
Type.Missing, false, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
wstSrc = (Worksheet)wbkSrc.Worksheets[sSrcSht];
//wstSrc.Activate();
rngWork = wstSrc.Cells.get_Range("H:H", System.Reflection.Missing.Value);
rngWork.NumberFormat = "General";
dteTmpDate = Convert.ToDateTime(m_sBusDate);
sTmpFileName = m_sSrcFil.Substring(0, m_sSrcFil.IndexOf(".")) + "_" +
m_sUserName + "_" + dteTmpDate.ToString("yyyy_MM_dd") + ".Csv";
wstSrc.SaveAs(sTmpFileName, XlFileFormat.xlCSV, Type.Missing,
Type.Missing, true, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);